Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z transakcjami na linii php/MySQL ;/
and6412
post 1.02.2007, 18:37:21
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.05.2005

Ostrzeżenie: (0%)
-----


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

Ten post edytował and6412 1.02.2007, 19:44:43
Go to the top of the page
+Quote Post
matlas
post 2.02.2007, 03:14:30
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 26.12.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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

Ten post edytował matlas 2.02.2007, 03:17:14


--------------------
Zapraszam na bloga: http://matlas.obsysa.net/
Go to the top of the page
+Quote Post
JaRoPHP
post 2.02.2007, 09:17:23
Post #3





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Podobny problem: Wstawianie rekordów: wszystko albo nic


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
and6412
post 2.02.2007, 16:16:46
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.05.2005

Ostrzeżenie: (0%)
-----


Dzieki panowie
Faktycznie rozwalenie na kilka funkcji pomogło.

Pozdrawiam Andrzej
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 09:21