$result = $conn->query($sql);
echo $result->num_rows; //2 is value produced
BUT
$tagResult = mysqli_fetch_array($result,MYSQLI_NUM);
echo count($tagResult); //1 is the value produced
是否假设产生相同数量的值?
答案 0 :(得分:0)
返回与获取的行对应的字符串数组,如果结果集中没有其他行,则返回NULL。
所以它只取1行。要获得两者/全部,您需要获取循环中的所有行:
GitGrabService
答案 1 :(得分:0)
mysqli_fetch_array
将一次获取一行,无论当前结果的指针是什么。第一次获得结果时,指针位于第一行。当你调用mysqli_fetch_array时,它将获取记录1(指针所在的位置),然后将指针递增到下一条记录。当你再次调用它时,它将获取记录2,依此类推。
如果返回了多行,则需要遍历结果,在每一行上调用mysqli_fetch_array。因为当没有更多行时mysqli_fetch_array返回null,所以你可以使用一个简单的while循环:
$result = $conn->query($sql);
echo $result->num_rows; //2 is value produced
$count = 0;
while ($tagResult = mysqli_fetch_array($result,MYSQLI_NUM))
{
print_r($tagResult); // Output each row
$count ++;
}
echo $count; //outputs 2