Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][MSSQL][PHP]Problem z zapytaniem SQL
Forum PHP.pl > Forum > Przedszkole
Konop857
  1. $zap1="UPDATE `user` SET `gold`='$gold + 50' WHERE `login`='$attacker'";
  2. mysql_query($zap1) OR die("<center>Wystapil blad AA1</center>" );
  3. $zap2="UPDATE `user` SET `gold`='$gold2 - 50' WHERE `login`='$defender'";
  4. mysql_query($zap2) OR die("<center>Wystapil blad AA2</center>" );

Otóż mam takie zapytanie, $gold i $gold2 wynoszą po 500 (pobieranie tych dwóch zmiennych działa i jest w drugim pliku).
Czyli powinno wyjść po tych zapytaniach 450 i 550 a w bazie danych zamiast zaktualizować 500,500 do 450,550 powstaje takie cudo 500-50,500+50
Dlaczego tak się dzieje?
Pole typu varchar,długość 8.
Dziwne bo w innym polu również varchar o długości 2 odejmowanie działa.
To działające zapytanie:
  1. $akcja = $dom;
  2. $pae = $pa - $akcja;
  3. $zap3="UPDATE `user` SET `pa`='$pae' WHERE `login`='$_SESSION[login]'";

$pa i $dom pobierane są w innym pliku i to działa
$akcja = $dom

Czemu odejmowanie mi nie działa ;/?
zamper
  1. $zap1="UPDATE `user` SET `gold`= gold + 50 WHERE `login`='$attacker'";
  2. mysql_query($zap1) OR die("<center>Wystapil blad AA1</center>" );
  3. $zap2="UPDATE `user` SET `gold`= gold - 50 WHERE `login`='$defender'";
  4. mysql_query($zap2) OR die("<center>Wystapil blad AA2</center>" );



Czemu umieszczasz zmienne $gold w zapytaniu i to jeszcze w apostrofach?!





sadistic_son
Bo SQl traktuje to jako string. Aby działanie się wykonało usuń apostrofy:
  1. $zap2="UPDATE `user` SET `gold`=$gold2 - 50 WHERE `login`='$defender'";
nospor
'$gold + 50'
Naprawdę nie widzisz, że wkładasz tekst '500+50'? Tekst to tekst, a nie dodawanie

$pae = $pa - $akcja;
`pa`='$pae'
Tutaj też wkładasz tekst, ale ten tekst jest już wcześniej w php "wyliczony"

Cytat
Pole typu varchar,długość 8.

I co to za kretyński pomysł by z liczby robić VARCHAR?
Konop857
Dziękuje!!!
Głowiłem się z tym i nie mogłem ogarnąć a wy powiedzieliście co i jak w trymiga buhauhauh
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.