mysqli查询总是只返回1行

时间:2013-06-14 02:15:24

标签: php mysqli

我想弄清楚num_rows总是返回1的原因?我搜索了高低,找出我在这里做错了什么。任何帮助将不胜感激!在我的status = ''查询中,应该找到status NULL正确的行?如果是,则计数应为2

$query = "SELECT * FROM referrals WHERE (status = 'W' OR status = '') AND referral_id = '".$thisId."'";
$result = $mysqli->query($query);
$TotalRcount = $result->num_rows;
while($row=$result->fetch_assoc()){
   //read columns
}

$inprogress =      $TotalRcount;
echo $TotalRcount; // Always returning 1

3 个答案:

答案 0 :(得分:0)

您的状态字段可能为空,或者其中可能包含零长度字符串。他们不一样。

尝试     (status ='W'或status< ='')

答案 1 :(得分:0)

将您的查询更改为使用IS NULL

测试空值
$query = "SELECT * FROM referrals WHERE (status = 'W' OR status = '' OR status is null) AND referral_id = '".$thisId."'";

虽然您无法测试null的相等性,但您可以测试以查看字段是否未定义。

答案 2 :(得分:0)

使用

$TotalRcount = mysqli_num_rows($result);