Я в процессе преобразования моего сайта в подготовленные операторы (прежде чем я просто опирался на пользовательскую функцию, включающую mysqli_real_escape_string, среди прочего), но когда я запускаю код, я всегда получаю нуль записей. Я знаю, что SQL в порядке, потому что я могу запустить SQL в инструменте workbench MySQL и возвращать несколько записей. Вот мой код:Подготовленные операторы: num_rows всегда ноль
<?php
$link = new mysqli($server,$dbusername,$dbpassword,$database);
if($link->connect_error){
die($link->connect_error);
}
$sql = "select itemname from items where itemcategory = ?";
//if(!$query = mysqli_query($link, $sql)) die(mysqli_error($link));
if(!$stmt = $link->prepare($sql)) die("Error");
$stmt->bind_param("i", $category); //replace question mark with category id
$stmt->execute();
$stmt->bind_result($itemname);
//$numitems = mysqli_num_rows($query);
$numitems = $stmt->num_rows;
if($numitems>0){
//while($array = mysqli_fetch_array($query)){
while($stmt->fetch()) {
echo $itemname."<br>";
}
}
$stmt->close();
?>
$stmt->num_rows
всегда 0. Что я делаю не так?