Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP][PDO] Sprawdzenie powodzenia UPDATE
maviozo
post
Post #1





Grupa: Zarejestrowani
Postów: 197
Pomógł: 24
Dołączył: 22.11.2010

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


Chcę umożliwić użytkownikowi modyfikację pewnych danych, z zastrzeżeniem, że gdy danych nie ma w ogóle, to zostają dodane. I tak wykombinowałem sobie, że pierwsze zapytanie będzie
  1. UPDATE `tabelka SET `dane`=:dane WHERE `warunek`=:warunek

i jeśli zwróci zero wyników, zostanie wykonane INSERT z tymi samymi danymi.

W przypadku istnienia tego wpisu, wszystko jest ok, wpis się uaktualnia. Jednak o ile zapytanie uruchomione przez phpMyAdmina, w przypadku gdy żadne pole nie spełnia warunku zwraca 0 wyników, tak nie wiem, jak w PDO sprawdzić, czy faktycznie liczba zmian to 1 czy zero. Boolowska wartość z execute() zwraca tylko, czy udało się wysłać zapytanie czy nie.

Czy jest jakiś sposób w PDO, by sprawdzić ile jest zmodyfikowanych wierszy,
bądź też jakiś inny, wydajniejszy sposób niż dwa zapytania?


Pomijam oczywiście fakt, że przed uruchomieniem zapytań, jest jeszcze warstwa sprawdzająca uprawnienia itp. ale dla sprawy nie ma to znaczenia winksmiley.jpg
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 16:09