mysqli num_rows返回0

时间:2013-11-16 04:19:03

标签: php mysqli

无法弄清楚为什么这不起作用。在这里已经解决了其他问题,但似乎我的代码很好。

$queryLink = $mysqli->prepare("SELECT vendor_name FROM vendors WHERE vendor_id='1'");
$queryLink->execute();
$queryLink->store_result;
$queryLink->bind_result($vendor_name);
$queryLink->fetch();
$numRows = $queryLink->num_rows;
$queryLink->close();

echo $vendor_name.'<br>'.$numRows;

脚本返回:

VendorNameHere
0

它返回1条记录,但是$ numRows始终保持为0.我已经尝试将numRows行移动到脚本中的不同位置,但它总是返回0.我做错了什么?

2 个答案:

答案 0 :(得分:2)

这一行:

$queryLink->store_result;

应该是方法调用:

$queryLink->store_result();

答案 1 :(得分:0)

但这里你不需要行数。显然,只有一个具有此类ID的供应商。为什么用无用的函数调用使代码膨胀?

$id   = 1;
$stmt = $mysqli->prepare("SELECT vendor_name FROM vendors WHERE vendor_id=?");
$stmt->bind_param("s", $id);
$stmt->execute();
$stmt->bind_result($vendor_name);
$stmt->fetch();

if ($vendor_name) {
    echo $vendor_name;
} else {
    echo "None found";
}

是您需要的所有代码。