php mysqli affected_rows

4

我只是在进行一些测试,但我无法确定我是否以正确的方式进行了操作。查询将会更新该行记录,但受影响的行数总是返回 0。为什么?

<?php 

$connection = new mysqli('localhost', 'user', 'pass', 'db');
if (mysqli_connect_errno()) {
   printf("Can't connect to MySQL Server. Errorcode: %s\n", mysqli_connect_error());
   exit;
}

$email      = $connection->real_escape_string($_GET['email']);
$activation = $connection->real_escape_string($_GET['hash']);

//$query =  $connection->query("SELECT email, activationCode, active FROM users WHERE email='".$email."' AND hash='".$activation."' AND active='0'");
$select = $connection->query("UPDATE users SET active = '1' WHERE email='".$email."' AND activationCode='".$activation."' AND active='0'");


printf("Affected rows (UPDATE): %d\n", $select->affected_rows);



$connection->close();
?>
1个回答

6

这里说的是使用$select->affected_rows而不是$connection->affected_rows

$select->affected_rows包含有关最后一次查询(可能成功或失败)影响了多少行的信息,而连接则持有数据库管理对象,其中包含有关查询结果的数据。


哦,伙计..我现在给你我的好基友耶稣的姿势。谢谢,伙计! - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接