mam dziwny problem.
Wprowadziłem do skryptu który aktualnie produkuje transakcje, a jako że do relacji z bazą danych używam klasy, przerobiłem ją trochę. Ale do rzeczy.
Tak wyglądają u mnie zapytanie na transakcjach:
$db->transaction_on(); $db->query("INSERT INTO user SET login='asd', pass = 'dsa';"); $db->query("INSERT INTO user SET login='asd2', pass = 'dsa2';"); $db->query("INSERT INTO user SET login='asd3', pass = 'dsa3';"); $db->commit();
Dzięki temu, zapytanie które trafia do SQLa wygląda tak:
START TRANSACTION; INSERT INTO user SET login='asd', pass = 'dsa'; INSERT INTO user SET login='asd2', pass = 'dsa2'; INSERT INTO user SET login='asd3', pass = 'dsa3'; COMMIT;
I wykonuje się w taki sposób:
$multi = new mysqli($this->host,$this->user,$this->pass,$this->db); $this->mysql_result = $multi->multi_query( $this->mysql_query );
I cały problem polega na tym, że gdy korzystam z transakcji prawie nigdy nie wykonuje się pierwsze zapytanie po "START TRANSACTION".
Gdy to samo zapytanie wkleje w konsole SQL w PhpMyAdminie wszystko działa cacy.
Ktoś wie o co może chodzić?