S1egh4rdt
@S1egh4rdt
Вот я тип

Почему после mysqli:fetch не удается использовать еще один mysqli:fetch, иначе ошибка?

Пытаюсь вложить один mysqli-запрос в другой (по-другому никак). После первого запроса начинаю выполнять второй и получаю ошибку:
Fatal error: Call to a member function fetch_assoc() on a non-object in C:\Sites\home\jarga-land.ru\www\backend\admin_product_AE.php on line 45

Кусок кода:
$results = $mysqli->prepare("SELECT category.name_category, product.*  FROM `category` INNER JOIN `product` ON id_cat = category_id AND product.id = $prod_id");
$results->execute(); //Execute prepared Query
$results->bind_result($cat_name, $id, $title, $description, $full_description, $price, $image, $category_id);
$results->fetch();

//bla bla bla html code

<?php
	//for($sg=0;$sg<5;$sg++){ 
	$q = $mysqli->query("SELECT * FROM `category`");
	while($all_cat=$q->fetch_assoc())   // Call to a member function fetch_assoc() on a non-object in ...
	{
	$cur_cat_name=$all_cat['name_category'];
		//echo $id_cat;
	if($all_cat['id_cat']!=$category_id)
	{
		echo '<option value="'.$all_cat['id_cat'].'">'.$cur_cat_name.'</option>';
	}
	else echo '<option selected value="'.$all_cat['id_cat'].'">'.$cur_cat_name.'</option>';
	}
	?>

Никак понять не могу почему при выполнении второго запроса переменную считают НЕобъектом. Думал проблема в запросе к базе, перепробовал другие(даже первый копировал) все равно ни в какую. В чем дело то?
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
@shell_execute
Вас стоит задуматься о более грамотном написании кода.
У вас $mysqli->query возвращает FALSE и вы эту ситуацию никак не обрабатываете - php.net/manual/ru/mysqli.query.php .Прочитайте документацию и посмотрите на примеры, там есть решение задачи как у вас.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы