-1

我想弄清楚为什么num_rows总是返回1?我到处搜索,以找出我在这里做错了什么。任何帮助将不胜感激!在我的查询中,我status = ''应该找到正确的statusNULL?如果是这样,那么计数应该是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
4

3 回答 3

0

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

尝试(状态 = 'W' 或状态 <= '')

于 2013-06-14T02:24:12.170 回答
0

更改您的查询以测试是否为空IS NULL

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

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

于 2013-06-14T02:41:13.590 回答
0

利用

$TotalRcount = mysqli_num_rows($result);
于 2014-12-24T17:55:25.110 回答