ID: 28871 Updated by: [EMAIL PROTECTED] Reported By: nav at nc dot ru -Status: Open +Status: Feedback Bug Type: MySQL related Operating System: Windows XP PHP Version: 4.3.6 New Comment:
Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.php.net/how-to-report.php If you can provide more information, feel free to add it to this bug and change the status back to "Open". Thank you for your interest in PHP. Please provide a complete and reproducable testcase/script (including table definition and plain sql statements). Previous Comments: ------------------------------------------------------------------------ [2004-06-22 12:07:52] nav at nc dot ru No, I carefully checked the record before and after UPDATE. It WAS changed. However, mysql_affected_rows returned 0. ------------------------------------------------------------------------ [2004-06-22 00:47:51] [EMAIL PROTECTED] Maybe the data is unchanged, meaning that it already was what you were trying to change it to. ------------------------------------------------------------------------ [2004-06-21 18:39:34] nav at nc dot ru Description: ------------ I've got the problem similar to already reported here. mysql_afftected_rows sometimes returns 0, sometimes 1. Although actually it does UPDATES the record. This query changes user login (password, e-mail) in the table "user" (see below. If it matters, MySQL is 3.23.53-max, Apache is 1.3.27): Reproduce code: --------------- mysql_query("UPDATE user SET ".$setRequest." WHERE login = '$userCurrentLogin' AND password = md5('$userCurrentPass')"); /* $setRequest is the string compiled conditionally, but I've just printed whole query string and it looked correct: UPDATE user SET login = 'aaa' WHERE login = 'bbb' AND password = md5('ccc') */ $num = mysql_affected_rows(); if ($num == 0) $errorMsg = "Could not complete your request. Check the data"; else if ($num == -1) $errorMsg = "Database error. Try again later"; else $changeMsg = "Your data has been successfully changed"; Expected result: ---------------- Of course, I expect correct work of mysql_affected_rows :) Actual result: -------------- BUT the result ($num) is sometimes 0, sometimes 1, even if the record is actually updated. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28871&edit=1
