以下是查询:
$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
如果有人可以帮我解决这个问题,我将不胜感激。
感谢。