Mam taki problem:
$pytanie = "UPDATE testowa SET liczba=liczba+1 WHERE liczba=3"; $wynik = mysql_query($pytanie); echo $wynik;
Wynikiem zapytania zawsze jest 1 nawet jeśli nie znajdowała się w bazie liczba=3 a co za tym idzie żadne rekordy w bazie nie zostały zmienione.
Przy wywoływaniu tego samego zapytania z konsoli:
w bazie nie ma rekordu: liczba=3 (niezmodyfikowano)
mysql> UPDATE testowa SET liczba=liczba+1 WHERE liczba=3; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0
w bazie jest rekord: liczba=4 (zmodyfikowano)
mysql> UPDATE testowa SET liczba=liczba+1 WHERE liczba=4; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0
Jak osiągnąć wynik 0 przy zapytaniu z poziomu PHP jeśli nie modyfikowano żadnego rekordu w bazie? Można tu zastosować 2gie zapytanie SELECT... ale nie chciał bym wysyłać niepotrzebnych zapytań.