Select max nie działa poprawnie

0

Witam nie ma co ukrywać że dopiero zaczynam moją przygodę z php i mysql. Jak to bywa na początkach natrafiłem na problem, z którym nie potrafię sobie poradzić.
Mam coś takiego:

 $zapytanie = "INSERT INTO `zgloszenia` (`ID`, `nr_sklepu`, `temat`, `data_wykonania`, `godzina_rozpoczecia`, `how_long`, `status`, `prowadzacy`, `tresci`, `ekipa`, `prywatne`, `pliki`)  VALUES ('',
       '$nr_sklepu', '$temat', '$kiedy', '$godzina', '$ile', '$status', '$prowadzacy', '$opis', '$ekipa', '$prywatne', '$pliki')";
      $idzapytania = mysql_query($zapytanie);

      $plikii=explode("#",$pliki);
      $a=mysql_fetch_assoc(mysql_query ("SELECT MAX (ID) as maxx FROM zgloszenia  "))
              or die ("<script>alert(\"Błąd  aaaaaa\");</script>"); 

Z pierwszą częścią nie ma najmniejszego problemu. Nowy rekord tworzy się w bazie, ale za to druga część czyli wyszukanie najwyższej wartości ID już jest problemem ponieważ kończy się za każdym razem komunikatem.
Jaki popełniam błąd, bądź jak można pobrać ID inaczej które jest auto increment.

0

Ja tam SQL miałem tylko trochę na uczelni na wstępie do baz danych, ale takie coś chyba powinno działać?

 
SELECT ID FROM zgloszenia WHERE ID = MAX(ID);
0
$q = mysql_query ("SELECT MAX (ID) as maxx FROM zgloszenia") or die ("<script>alert(\"Błąd  aaaaaa\");</script>"); 
$a = mysql_fetch_assoc($q);
0

To rozwiązanie też nie działa:/. Tak samo przechodzi do komunikatu czyi że zapytanie nie reaguje poprawnie:/.
Może tkwić problem po stronie serwera? korzystam z WebServ z php 5.2.5 i mysql 5.0.45

1

Robisz mnóstwo błędów w tak krótkim kodzie:

  1. Wstawiasz w pole ID jakąś wartość - konkretnie ciąg pusty, który wcale Nullem nie jest. Każda normalna baza by się wywaliła...
  2. Pobierasz Max(ID), ale czy to ty je wstawiłeś? Przy wielodostępie często się zdarza, że to jednak nie ty...
  3. Powinno to wyglądać -= tak:
$zapytanie = "INSERT INTO `zgloszenia` (`nr_sklepu`, `temat`, `data_wykonania`, `godzina_rozpoczecia`, `how_long`, `status`, `prowadzacy`, `tresci`, `ekipa`, `prywatne`, `pliki`)  VALUES ('$nr_sklepu', '$temat', '$kiedy', '$godzina', '$ile', '$status', '$prowadzacy', '$opis', '$ekipa', '$prywatne', '$pliki')";
mysql_query($zapytanie);
$id=mysql_insert_id();
0

Skorzystaj z PDO, transakcji i lastinsertid.

0

Dziękuję bardzo Marcin tak proste rozwiązanie a jak skuteczne :). Błędy każdemu zdarzają, a szczególnie na początku :).
Jeszcze raz wielkie dzięki. Działa nareszcie tak jak powinno :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1