JackShcherbakov
@JackShcherbakov

Почему скрипт ничего не выводит?

Здравствуйте! Хочу явно очистить память, занимаемую результатом запроса. Но почему-то после такой процедуры ничего не выводится. В чем дело? Память ведь очищена после использования, соответственно было из чего брать строки. Вот код с очисткой памяти:
<?php

$db = new mysqli("localhost", "root", "23210100", "Books");
$query = "SELECT * FROM Books WHERE Price>?";
$stmt = $db->prepare($query);
$var = 15.00;
$stmt->bind_param("d", $var);

$stmt->bind_result($isbn, $author, $title, $price);

$stmt->execute();
$result = $stmt->get_result();

while($stmt->fetch()){
	echo "$isbn, $author, $title, $price<br>" ;
}
echo "Всего строк - " . $stmt->num_rows;
$result->free();

?>

Результат:
Всего строк - 0
Вот без очистки:
<?php

$db = new mysqli("localhost", "root", "23210100", "Books");
$query = "SELECT * FROM Books WHERE Price>?";
$stmt = $db->prepare($query);
$var = 15.00;
$stmt->bind_param("d", $var);

$stmt->bind_result($isbn, $author, $title, $price);

$stmt->execute();
//$result = $stmt->get_result();

while($stmt->fetch()){
	echo "$isbn, $author, $title, $price<br>" ;
}
echo "Всего строк - " . $stmt->num_rows;

?>

Результат:
0-672-31509-2, Pruitt, et al., Teach Yourself GIMP in 24 Hours, 33.26
0-672-31697-8, Michael Morgan, Java 2 for Professional Developers, 61.98
0-672-31745-1, Thomas Down, Installing Debian GNU/Linux, 33.26
Всего строк - 3

В чем проблема и как исправить? Заранее спасибо!
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
@sidni
А чего вы в первом примере не использовали конструкцию while ($row = $result->fetch_assoc()) {
Правда придется отказаться от bind_params
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что вы весь результат уже получили через get_result(), курсор в $stmt дошёл до конца. Теперь перебирайте $result его методами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
от 90 000 до 150 000 руб.
18 авг. 2018, в 01:10
17000 руб./за проект
17 авг. 2018, в 23:00
5500 руб./за проект