Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie o ostatni id - error
Forum PHP.pl > Forum > PHP
invx
nie wiem czemu wywala error, niby szytsko dobrze
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\rcx_portal\test.php on line 7"

mam taki kod
  1. <?php
  2.  $zapytanie=&#092;"SELECT last_inserted_id() FROM forum_c\";
  3.  $wykonaj=mysql_query($zapytanie);
  4.  while($aaa=mysql_fetch_array($wykonaj))
  5.  echo&#092;" $aaa\";
  6. ?>



P.S.
mialem watpliwosci czy dac do do bazy danych czy na php, ale dalem tutaj ... jak zle ... sorry
dr_bonzo
sprawdzaj mysql_error()
  1. SELECT LAST_INSERT_ID()
  2. FROM forum_c


MySQL Query Browser: ulatwia pisanie zapytan, posiada podreczna liste funkcji mysqla z wygodnym wyszukiwaniem, dwuklik na nazwe funkcji i dostajesz jej opis, przyklady uzywania.
cagrET
Nie ma czegoś takiego jak "last_inserted_id()". W manualu mysqla jest tylko cos takiego:
  1. SELECT LAST_INSERT_ID();
invx
faktycznie, ale zmienilem na last_insert_id() idostaje kilka Array, Array itd... wywalilem petle while i dostalem jedna Array, dalem var_dump($aaa) i dostalem cos takiego
Kod
array(2) { [0]=> string(1) "0" ["last_insert_id()"]=> string(1) "0" } Array
ale ostatniego id nie ma tam ... (w bazie ostatni id jaki mam to 33)


P.S.
a ten mysql query broswer to w wersji PL jest questionmark.gif
docent
nei lopata to mlotkiem tongue.gif

Kod
SELECT id FROM tabela ORDER BY id DESC LIMIT 1;


i z glowy tongue.gif

choc
Kod
SELECT LAST_INSERT
... powinno dzialac...

a swoja droga - nie wiem jakie masz zagadnienie, ale moze nie wiesz o funkcji last_insert_id() w php? tongue.gif
invx
tak... a jesli ostatni rekord bedzie usuniety w bazie questionmark.gif? to auto_increment nada nie kolejny jaki wynika z kolejnosci pol id tylko wg swojej numeracji, tak ze nic mi po taim zapytaniu
kubatron
invx: taka anegdotka, od kiedy zmienne się wczytuje tak
->
  1. <?php
  2.  
  3.  echo&#092;" $aaa\";
  4.  
  5. ?>

ja się uczyłem
  1. <?php
  2.  
  3.  echo $aaa;
  4.  
  5. ?>
invx
co w tym zlego normalnnie ja wysiwetlam, w oryginalnym kodzie tam bylo echo "tekst ... $aaa tekst ...";
crash
A wiesz, że stosowanie interpolacji (zmuszanie php do przeszukiwania ciągów i zamiany zmiennych np. "cos $zm") jest dwa razy wolniejsze (a w php < 4.3 trzy razy) niż stosowanie łączenia ciągów? Stosuj w miarę możliwości łączenie, czyli "cos ".$zm... Tak więc takie echo "$zm"; robi dwa razy więcej niż powinno, bo dodatkowo musi zostać zmieniony typ zmiennej na ciąg...
docent
Cytat(invx @ 2005-01-23 11:39:09)
tak... a jesli ostatni rekord bedzie usuniety w bazie questionmark.gif? to auto_increment nada nie kolejny jaki wynika z kolejnosci pol id tylko wg swojej numeracji, tak ze nic mi po taim zapytaniu

hmm a po co ci ID nieistniejacego wiersza...?

jesli chcesz powrocic do stanu tabeli sprzed jakiegos czasu to proponuje Postgresa smile.gif
invx
nie nieistniejecego wiersza, tylko id Auto_incrementu, a ono nie musi byc jak ostatni wiersz w bazie

P.S.
zrobilem to ale az 3 zapytania uzulem ... sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.