Innym powodem, dla którego otrzymasz 0 wierszy, których dotyczy problem, jest to, że UPDATE
instrukcja nie pasuje do żadnych wierszy. Na przykład:
UPDATE MyTable SET field = 'content' WHERE id = 1234;
Daje 0 wierszy, których dotyczy problem, jeśli żaden wiersz nie istnieje z id = 1234
. To też nie jest błąd, to tylko UPDATE
który zdarzył się nie pasować do żadnych wierszy.
Sposobem na wykrycie tego przypadku jest użycie SELECT
aby sprawdzić, czy istnieje taki wiersz. Jeśli możesz potwierdzić, że wiersz istnieje, ale UPDATE
powiedział, że wpłynęło to na 0 wierszy, to wiesz, że wartości, które próbowałeś zmienić, były w rzeczywistości wierszami już w bazie danych.
SELECT COUNT(*) FROM MyTable WHERE id = 1234;
Ale rozróżnienie może nie być ważne. Możesz zgłosić błąd, jeśli mysql_error()
mówi, że istnieje, jak sugeruje @BoltClock. * Jeśli nie ma błędu, możesz po prostu zgłosić użytkownikowi „brak zmian”.