![]() |
![]() ![]() |
![]() |
![]()
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
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 ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
http://pl.php.net/manual/en/pdostatement.rowcount.php
http://dev.mysql.com/doc/refman/5.0/en/ins...-duplicate.html -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wow, dziękuję za tak szybką i precyzyjną odpowiedź. Wydaje mi się, że powinno to w zupełności wystarczyć do rozwiązania problemu. Swoją drogą sporo wyciągam z manuala php.net i nie wiem, jakim cudem mogłem tego nie zauważyć. Chociaż rozwiązanie z samym mysql bardziej mi się podoba
![]()
Powód edycji: [thek]: Może dlatego, że to dokumentacja mysql a nie php ;)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 04:18 |