#28871 [Fbk->Opn]: mysql_afftected_rows returns 0 even when updates record
| From: | nav at nc dot ru | Date: | Tue, 22 Jun 2004 10:07:54 +0000 |
| Subject: | #28871 [Fbk->Opn]: mysql_afftected_rows returns 0 even when updates record | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-61206@lists.php.net to get a copy of this message | ||
ID: 28871
User updated by: nav at nc dot ru
Reported By: nav at nc dot ru
-Status: Feedback
+Status: Open
Bug Type: MySQL related
Operating System: Windows XP
PHP Version: 4.3.6
New Comment:
No, I carefully checked the record before and after UPDATE. It WAS
changed. However, mysql_affected_rows returned 0.
Previous Comments:
------------------------------------------------------------------------
[2004-06-22 00:47:51] iliaa@php.net
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