Intereting Posts

Не удалось получить Mysqli_result

У меня есть эта ошибка

Предупреждение : mysqli_fetch_array () [function.mysqli-fetch-array]: Не удалось получить mysqli_result в /home/fights7/public_html/include/load_more_home_posts.php в строке 12

И хотелось бы знать, что я сделал неправильно с приведенным ниже кодом?

$articles_data = mysqli_query($mysqli,"SELECT * FROM streamdata WHERE streamitem_id < '$lastID' ORDER BY streamitem_id DESC LIMIT 10") or die(mysql_error()); while($articles_info = mysqli_fetch_array($articles_data)) { $json = array(); $json['streamitem_id'] = $articles_info['streamitem_id']; $json['streamitem_content'] = $articles_info['streamitem_content']; $json['streamitem_timestamp'] = $articles_info['streamitem_timestamp']; mysqli_free_result($articles_data); 

Сразу же, кажется, вы вызываете mysqli_free_result() внутри цикла выборки, поэтому после первой итерации цикла ваш результирующий ресурс был закрыт и освобожден, и больше результатов не будет.

 while($articles_info = mysqli_fetch_array($articles_data)) { $json = array(); $json['streamitem_id'] = $articles_info['streamitem_id']; $json['streamitem_content'] = $articles_info['streamitem_content']; $json['streamitem_timestamp'] = $articles_info['streamitem_timestamp']; // Don't do this! //mysqli_free_result($articles_data); } // If you need to, free it outside the loop mysqli_free_result($articles_data); 

Я отмечаю, что вы вызываете mysqli_fetch_array() без указания MYSQLI_ASSOC , и поэтому вы возвращаете как числовые, так и ассоциативные ключи. Если вы используете все в своем JSON, вам не нужно выполнять все эти назначения, если вы используете MYSQLI_ASSOC или mysqli_fetch_assoc() :

 while($articles_info = mysqli_fetch_assoc($articles_data)) { // No need for the $json array. Just use $articles_info directly // if you were going to json_encode() it. }