1

我在查询上使用了 mysql_affected_rows 但它似乎返回 false 即使查询确实执行了所以我有点困惑....

这就是我所拥有的:

$check = mysql_query("DELETE FROM $table 
         WHERE name = '".$darray[0]."' AND 
         password = '".$darray[1]."' AND uid = '$uid' 
         AND validation = '22'") 
         or die(mysql_error());


if(mysql_affected_rows($check)>0){
    echo 1;
    exit;

} else {
 echo 'Less than one!';
 exit;
}

知道为什么它说少于一个 - 即使我的查询确实删除了该行?

4

3 回答 3

4

mysql_affected_rows()获取链接标识符(即连接资源),而不是结果。

于 2012-05-02T04:13:41.990 回答
2

mysql_affected_rows接受连接链接,而不是查询。您可以将该参数留空,它将引用在该连接上执行的最后一个查询。

于 2012-05-02T04:14:05.193 回答
2

解决了:

错误是 mysql_affected_rows() 不期望查询。

更多信息在这里: http: //php.net/manual/es/function.mysql-affected-rows.php

$check = mysql_query("DELETE FROM $table 
         WHERE name = '".$darray[0]."' AND 
         password = '".$darray[1]."' AND uid = '$uid' 
         AND validation = '22'") 
         or die(mysql_error());


if(mysql_affected_rows() >0){
    echo 1;
    exit;

} else {
 echo 'Less than one!';
 exit;
}
于 2012-05-02T04:18:06.220 回答