![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 9 Dołączył: 29.11.2010 Skąd: T Ostrzeżenie: (0%) ![]() ![]() |
Doszukać błędu się nie mogę i takowych też nie otrzymuje, wykonanie zapytania kończy się powodzeniem, problem polega na tym że zawsze, nawet jeżeli nie powinno.
W tabeli "users" mam kolumnę "active" przechowującą wcześniej wygenerowany ciąg znaków. Powyższy kod jest częścią funkcji przyjmującej jeden argument "$code". Wywołanie funkcji ma ustalić wartość pola "active" na NULL. Jeżeli funkcja otrzyma kod który znajduje się w bazie danych to wszystko OK, zmienia jego wartość na NULL i wywołanie metody "execute()" zwraca wartość 1. Problem pojawia się jak przekażę niepoprawny parametr którego w bazie danych nie ma. Liczba edytowanych rekordów powinna wtedy wynieść 0 a mimo to otrzymuję wynik 1, w bazie danych również nie dochodzi do zmian. Wywołanie zapytania w phpMyAdmin skutkuje komunikatem "na zielono" przekazującym jednak liczbę zmodyfikowanych rekordów równą 0. Wygląda to tak jakby PDO interpretowało wykonane sukcesem zapytanie jednoznacznie z dodaniem przynajmniej jednego rekordu. Jakieś sugestie? Z góry dzięki. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Liczba edytowanych rekordów powinna wtedy wynieść 0 a mimo to otrzymuję wynik 1 http://pl1.php.net/manual/en/pdostatement.execute.php Wskaz mi prosze w ktorym miejscu napisali, ze execute zwraca liczbę zmodyfikowanych wierszy A nastepnie poczytaj to http://pl1.php.net/manual/en/pdostatement.rowcount.php manual naprawde po cos wymyslono. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 9 Dołączył: 29.11.2010 Skąd: T Ostrzeżenie: (0%) ![]() ![]() |
Niestety nieoficjalne źródła jak widać mogą dzielić się takimi informacjami. Wyszedłem z błędnego założenia że tak właśnie jest to nie skanowałem dalej właściwości tej metody a szukałem problemu gdzieś indziej.
Dzięki za pomoc. Ten post edytował Geston 7.04.2014, 14:11:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:03 |