Я изучаю подготовленные операторы и пытаюсь работать с запросом, который дает несколько строк результатов. Прямо сейчас, я просто пытаюсь выяснить, как определить количество строк, а затем сделать отображение номера в html.Подготовленные утверждения - количество строк
Моя подготовленное заявление выглядит следующим образом:
if($stmt = $mysqli -> prepare("SELECT field1, field2, field3 FROM table WHERE id= ?ORDER BY id ASC"))
{
/* Bind parameters, s - string, b - blob, i - int, etc */
$stmt -> bind_param("i", $id);
$stmt -> execute();
/* Bind results */
$stmt -> bind_result($testfield1, $testfield2, $testfield3);
/* Fetch the value */
$stmt -> fetch();
/* Close statement */
$stmt -> close();
}
Я понимаю, что я должен сначала сохранить результаты, а затем использовать num_rows
, как это:
$stmt->store_result();
$stmt->num_rows;
Однако, я запускать и выпускать страницу с ошибкой, когда я помещаю туда этот код. Я даже не смог перейти к следующему шагу, как отображать число строк
Итак, вопрос: что мне не хватает в расчете количества строк внутри подготовленного оператора, а затем как я бы его отобразил с <?php echo '# rows: '.$WHATGOESHERE;?>
Спасибо!
Где это идет в подготовленном заявлении я отправил? После выполнения()? После bind_result или выборки? Это имеет значение? – Kevin
@ Кевин Я так не верю. Просто убедитесь, что он идет после выполнения, и должно быть хорошо –
О, и, кстати, вы забыли пробел между '?' И 'ORDER BY'. Я обновлю свой ответ, чтобы исправить это, –