Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dodawanie rekordów do dwóch tabel jednocześnie
Forum PHP.pl > Forum > Przedszkole
benio0o
Witam,

Otóż tworzę stronę z formularzem rejestracyjnym. Jeśli przejdzie walidacje, ma się dodać rekord do dwóch tabel - do jednej o nazwie users ma się dodać login, pass, email itd, oraz do users_act ma się dodać id, z w/w users oraz kod aktywacyjny. Służyć będzie to tym, żeby sprawdzić czy użytkownik aktywował swoje konto(jeśli macie jakiś łatwiejszy, i lepszy sposób na sprawdzenie tego - jestem otwarty). Oto fragment kodu:
  1. $query = "START TRANSACTION;
  2. INSERT INTO users(id, login, pass, email)
  3. VALUES(NULL, '{$_POST['login']}', '{$_POST['pass1']}', '{$_POST['mail1']}');
  4. INSERT INTO users_act(act_code, id)
  5. VALUES ('{$act_code}', LAST_INSERT_ID());
  6. COMMIT;";
  7. mysql_query($query);

Po wypisanie w/w $query za pomocą echa widze:
  1. START TRANSACTION; INSERT INTO users(id, login, pass, email) VALUES(NULL, '2', '2', '2'); INSERT INTO users_act(id, act_code) VALUES (LAST_INSERT_ID(), '18b74347595599c34d1aa96edbe6a029'); COMMIT;

Które to, po wpisaniu na phpmyadmin działa poprawnie, a na stronie zwraca błąd:
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO users(id, login, pass, email) VALUES(NULL, '2', '2', '2'); ' at line 2

Czytam dokumentacje, czytam błąd, cały czas próbuje coś zmienić i dalej nie mam zielonego pojęcia co jest źle(zważywszy że się wykonuje na phpmyadmin, ale przez php juz nie).
Korzystam z XAMPP.
Pozdrawiam.
l0ud
Jedno mysql_query to maksymalnie jedno zapytanie. Rozdziel to na kilka wywołań tej funkcji.
XP'ek
Kod
$query = "INSERT INTO users(id, login, pass, email) VALUES (NULL, '{$_POST['login']}', '{$_POST['pass1']}', '{$_POST['mail1']}');";
$guery = mysql_query($query);

$query1 = "INSERT INTO users_act(act_code, id) VALUES ('{$act_code}', LAST_INSERT_ID());";
$query1 = mysql_query($query1);
benio0o
Problem rozwiązany, wielkie dzięki za pomoc.
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.