Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySql i php jak pobrać id ?
Forum PHP.pl > Forum > PHP
marcinvx
Muszę dodać id 1 rekordu do 2. Jak to zrobić?
Tak jak mam nie chce działać..



  1. mysql_query("INSERT INTO forum_temat SET user='$user', nazwa='$temat', data='$time'"); //temat
  2. $id_temat = mysql_fetch_row(mysql_query("SELECT id FROM forum_temat WHERE user='$user' AND data='$time'")); //pobiera id z temat-u
  3. mysql_query("INSERT INTO forum_post SET user='$user', data='$time', wiadomosc='$tresc, ID_temat='$id_temat'"); //dodaje id tematu do tabelki
Shili
poczytaj o mysql_insert_id zamiast katować bazę dodatkowym selectem smile.gif

A działać nie chce czemu? Jakieś errory albo warningi generuje? :]
Niktoś
Dzieje się tak, najprawdopodobniej, dlatego bo pomiędzy zapytaniami nie ma zamknięcia i otwarcia połączenia z bazą danych,przez co zanim zostaną zaktualizowane dane w jednym zapytaniu bijesz do następnego.Nie wiem czy to dobrze ująłem,połączenie jest aktywne dla zapytania do jego zamknięcia.
Shili
@Niktoś

Z tego co mi wiadomo nie jest to prawda. Kolega marcinvx po prostu użył złej funkcji lub złej składni, zależy z której strony na to patrzeć.
Odpal sobie konsolę i sprawdź zanim zaczniesz wypisywać takie rzeczy. Zapytania do bazy nie wykonują się asynchronicznie smile.gif

Być może lepiej by to było zrobić triggerem after insert, co nie zmienia faktu, że pierwszy raz słyszę o zamykaniu połączeń, aby wprowadzić drugiego inserta.
viking
W 3 linii brakuje domknięcia po $tresc. Poza tym myślałeś żeby przejść na PDO? Przez tą sieczkę tutaj w quotowaniu możesz mieć problem ze strict mode.
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.