UPDATE工作正常,但$ mysqli-> affected_rows表示没有更新行

时间:2017-04-11 14:57:25

标签: php mysql mysqli

以下是查询:

$query = "UPDATE user_data SET user_privil = ? WHERE e_mail = ? AND user_name = ?";  
if ($stmt = $mysqli->prepare($query)){  
$stmt->bind_param('sss', $user_privil, $e_mail, $user_name);  
$stmt->execute();

user_privil单元格更新很快就完成了。但$stmt->affected_rows不等于1。

我可以使用var_dump($query)并输出" donestring(71)"然后是上面的$query

我可以使用var_dump($mysqli),并在数组输出中说:["affected_rows"]=>int(0)var_dump($mysqli)数组不表示任何错误。

我可以使用var_dump($stmt),数组与上面var_dump($mysqli)的内容相同:["affected_rows"]=>int(0)。输出数组不显示任何错误。

我可以查看phpMyAdmin,看看user_privil表格单元格已经更新。

在将数据插入user_privil单元格之前,我使用json_encode对数组进行编码。

我可以使用" if"用户Michael在此链接上建议的条件: http://php.net/manual/en/mysqli.affected-rows.php
迈克尔的建议回归"真实"如果行更新。但是,它也会返回" true"该行未更新。

我正在跑步:
PHP版本5.6.30
MySQL版本5.6.33
Apache 2.4.25

如果有人可以帮我解决这个问题,我将不胜感激。

感谢。

0 个答案:

没有答案