Podczas wykonywania instrukcji SQL, takich jak wstawić do table
... ON duplikat KEY UPDATE ... mogę liczyć na mysql_affected_rows(), aby określić, czy wkładka lub aktualizacja została wykonana. jako miejsce mysql na http://dev.mysql.com/doc/refman/5.1/en/mysql-affected-rows.html, stwierdza:mysql_affected_rows() zwraca -1
Dla INSERT ... ON duplikat KEY instrukcji UPDATE, dotkniętych-wiersze wartość 1, jeśli rząd dodaje się jako nowy wiersz i 2, jeżeli istniejący rząd jest zaktualizowane.
Wszystko działa OK, aż zostaliśmy przeniesieni do MySQL 5.1.16, kiedy wiele zapytań teraz miał mysql_affected_rows() powracającego minus jeden (-1)
Proponowane rozwiązanie na stronie MySQL na http://dev.mysql.com/doc/refman/5.1/en/mysql-store-result.html jest wywołanie funkcja mysql_store_result() po każdym uruchomieniu funkcji mysql_query() w zapytaniu wyboru.
Jednak PHP nie ma zdefiniowanej takiej funkcji.
Jak uzyskać poprawne działanie mysql_affected_rows() przy użyciu PHP i MySQL 5.1.16?
Czy korzystasz z przygotowanych wyciągów? Nawiasem mówiąc, PHP ma funkcję store_result - http://php.net/manual/en/mysqli.store-result.php, ale store_result jest wywoływane po SELECT, a nie po INSERTach. * -1 oznacza, że zapytanie zwróciło błąd lub że dla zapytania SELECT mysql_affected_rows() zostało wywołane przed wywołaniem mysql_store_result() * –
Mam również ten problem ... –