Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z transakcjami na linii php/MySQL ;/
Forum PHP.pl > Forum > PHP
and6412
Czesc

Panowie mam problem i już zgłupiałem. Albo ja robie jakiś potwornie trywialny błąd i już się tak głęboko gdzieś zasugerowałem, albo czegoś nie wiem. Moze coś czegoś [poprostu nie obsługuje a ja o tym nie wiem. Panowie looknijcie prosze.

puszczam do bazy nastepujace zapytanie w transakcji z php:
  1. <?php
  2. $query_result=mysql_query("
  3.  begin;
  4. insert into users (user_id,login, first_name,surname) VALUES (".$wiersz[0].",'".$_POST['login']."','".$_POST['firstname']."','".$_POST['surname']."');
  5. insert into passwords (user_id,pass) VALUES (".$wiersz[0].",md5('".$_POST['pass1']."'));
  6. commit;
  7. ");
  8. ?>


Zero błędu, zero ostrzeżenia, ale dane się nie wpisują. Transakcja prawdopodobnie zadziałała gdyż w bazie nie pojawia się żaden z 2 rekordów.
Za chwilę podmieniam $query_result=mysql_query na echo aby sobie podejrzeć co za zapytanie mi sie wygenerowało. W przegladarce naciskam F5 aby wszystko poszlo na tych samych danych z POST i wyswietla mi sie zapytanie. Nastepnie kopiuje je i uruchamiam w kliencie phpMyAdmin i..... wszystko dziala calkowicie poprawnie.

Pytanie:
Dlaczego z poziomu phpmyadmina to dziala a z poziomu php nie questionmark.gif

Z góry dzieki ;-)

PS.
KOzystam z zestawu serwerów easyPHP

PS2
Acha przepraszam, zapomnialem dodać że oczywiscie obie tabele są typu InnoDB
matlas
pozno jest ale mi sie wydaje ze musisz to na 4 rozbic czyli zrobic tak

zapytanie: START TRANSACTION
mysql_query
zapytani1: insert
mysql_query
zapytanie2: insert
mysql_query
zapytanie: commit (jesli oki)
mysql_query

tak na 100% zadziala

http://dev.mysql.com/doc/refman/5.0/en/commit.html
JaRoPHP
Podobny problem: Wstawianie rekordów: wszystko albo nic
and6412
Dzieki panowie
Faktycznie rozwalenie na kilka funkcji pomogło.

Pozdrawiam Andrzej
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.