2011-03-25 50 views
4

我只是在做一些測試這一點,我不能弄清楚,如果我這樣做的正確方法。查詢將更新該行..但受影響的行始終返回0 ..爲什麼?PHP的mysqli affected_rows

<?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(); 
?> 

回答

6

它說$select->affected_rows,而不是$connection->affected_rows

$select包含有關查詢是否成功與否,而連接持有其中包含有關查詢結果數據的數據庫管理器對象布爾值。

+0

哦,夥計..我現在得到了我的好友耶穌。謝了哥們! – Chris 2011-03-25 21:19:10

+0

沒問題。 :) – tvkanters 2011-03-25 21:20:03