Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem wielkokrotnego UPDATE [PHP/MySQL]
otakon
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.06.2007

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


witam,
generuje po przez php zapytanie dla bazy MySQL, ktore przypisuje do zmiennej,gdy chce wykonac je, niedziala. Po wyswietleniu go po przez echo,skopiowaniu i wklejeniu do PHP myAdmin wykonuje sie poprawnie.

tworzenie zapytania:
  1. <?php
  2. $zapytanie .= "UPDATE `zamowienia` SET `ilosc` = `ilosc` + '".$ilosc."' WHERE `id` = '".$id."' AND `zlozenie` = '".$czas."'; "
  3. ?>


kilka krotnie jest przypisywane a nastepnie wykonuje
  1. <?php
  2. mysql_query($zapytanie);
  3. ?>


id i zlozenie razem tworza klucz glowny
Czy PHP myAdmin dopisuje cos do zapytania? czemu moje zapytanie nie dziala po przez PHP?


Prosze o pomoc
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A jaki zwraca bład?
sprawdz czy masz poalczenie z baza. A najlepiej to po wykonaniu zapytanie daj
Kod
echo mysql_error();


--------------------
Go to the top of the page
+Quote Post
otakon
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.06.2007

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


wydruk bledu:

  1. <?php
  2. 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 '; UPDATE `zamowienia` SET `ilosc` = `ilosc` + '3' WHERE `id` ='1210' AND `zlo' at line 1
  3. ?>


przykladowy kod ktory oczywiscie wykonuje sie w PHP myAdmin
UPDATE `zamowienia` SET `ilosc` = `ilosc` + '1' WHERE `id` ='1010' AND `zlozenie` ='11110051017' ;
UPDATE `zamowienia` SET `ilosc` = `ilosc` + '3' WHERE `id` ='1210' AND `zlozenie` ='11110051017' ;
UPDATE `zamowienia` SET `ilosc` = `ilosc` + '3' WHERE `id` ='1212' AND `zlozenie` ='11110051017' ;
DELETE FROM `magazyn` WHERE `idm` = '11110051017' AND `dodano` = '1218209446' LIMIT 1;
DELETE FROM `magazyn` WHERE `idm` = '11110051017' AND `dodano` = '1218209583' LIMIT 1;
DELETE FROM `magazyn` WHERE `idm` = '11110051017' AND `dodano` = '1218209787' LIMIT 1;


nie wiem o co chodzi mysql_query($zapytanie,$link) wykonuje sie w funkcji ale $link jest globalem wiec nie wiem dlaczego tak sie dzieje
Go to the top of the page
+Quote Post
wlamywacz
post
Post #4





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Manual w dłoń. Funkcją mysql_query nie wykonasz multi zapytań. Czyli jedno zapytanie = jedna funkcja mysql_query. Musisz zrobić tablicę zapytań i w pętli przepuścić mysql_query
Go to the top of the page
+Quote Post
otakon
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.06.2007

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


dzieki wielkie, myslalem ze jak w PHP myAdmin wklejam calosc to i on wykonuje multi zapytanie skoro nie wywala bledu

WATEK ZAMKNIETY
Go to the top of the page
+Quote Post
qBK
post
Post #6





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

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


Tak przy okazji, inna kwestia:

UPDATE `zamowienia` SET `ilosc` = `ilosc` + '3' WHERE `id` ='1212' AND `zlozenie` ='11110051017' ;[/b]

Trochę mnie to zdziwiło, że liczby dajesz w apostrofy, zawsze piszę je normalnie (`id` = 17 itd.), ale skoro działa to ok. Za to z tego co pamiętam to gdyby zamiast apostrofu był cudzysłów to chyba mysql wywaliłby błąd.

Ten post edytował qBK 8.08.2008, 22:57:43
Go to the top of the page
+Quote Post
wlamywacz
post
Post #7





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


'' dodaje się w zależności od pola.
Go to the top of the page
+Quote Post
rzymek01
post
Post #8





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


tam gdzie ma być liczba to nie dajesz ' ani ", bo po co serwować MySQLowi dodatkową konwersję?


--------------------
:]
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 Aktualny czas: 21.08.2025 - 18:46