mysqli num_rows returning 0


mysqli num_rows returning 0

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

$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。 我做错了什么?

这一行:

$queryLink->store_result;

应该是一个方法调用:

$queryLink->store_result();

但是这里不需要行数。显然,只有一个供应商具有这样的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";
}

是您需要的所有代码。