1 / 1 / 0
Регистрация: 18.04.2016
Сообщений: 78
|
|||||||||||
1 | |||||||||||
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in20.06.2018, 00:08. Показов 1748. Ответов 8
Метки нет (Все метки)
Здравствуйте, у меня проблема с данным кодом, а точнее с запросом, я так понял что тут проблема в самом запросе .(int) $art['id']. как только это убираю и подставляю айди вручную, то всё выводит.
0
|
20.06.2018, 00:08 | |
Ответы с готовыми решениями:
8
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given PHP Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in Ошибка Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\qwerty\ |
634 / 476 / 170
Регистрация: 26.05.2016
Сообщений: 2,638
|
|
20.06.2018, 07:29 | 2 |
Whoami-lammer, ну а кавычки закрыть в sql запросе... не?
0
|
350 / 294 / 71
Регистрация: 15.09.2017
Сообщений: 1,305
|
|
20.06.2018, 16:38 | 3 |
Whoami-lammer, уверены, что указанный GET-параметр присутствует? Не его значение, а хотя бы сам параметр.
Во втором запросе пробел перед ORDER добавьте. И вы уверены, что $art определена? Может, там тоже нужно указать $_GET ?Учитесь проверять результаты выполнения запросов и делать их отдельно от соответствующей разметки, чтобы в случае ошибки вывести совсем другое содержимое. echo "Нет коментариев"; тоже смотрится как-то неуместно. Обрамите текст хотя бы какими-нибудь тегами. И лучше без echo обойтись, как вы это сделали в цикле ниже. Не очевидную логику тоже лучше не использовать (ветвление перед циклом).Добавлено через 9 минут Речь о реакции вашего скрипта на запрос по адресу /article.php . Нужно всегда учитывать возможность прямого обращения, а не только обращения по ссылкам, присутствующим на вашем сайте.
0
|
1 / 1 / 0
Регистрация: 18.04.2016
Сообщений: 78
|
||||||
20.06.2018, 21:36 [ТС] | 4 | |||||
Phantom-84, так?
0
|
350 / 294 / 71
Регистрация: 15.09.2017
Сообщений: 1,305
|
|
21.06.2018, 00:33 | 5 |
Нет.
Добавлено через 1 минуту Функция тут не нужна. $art откуда берется? Добавлено через 4 минуты Увидел, откуда. Тогда у вас было правильно. Можно даже (int) перед $art['id'] убрать, если поле id в базе данных числовое или гарантированно содержащее число. Добавлено через 3 минуты Но если вам изначально передадут несуществующий идентификатор или возникнет какая-то другая ошибка во время выполнения запроса, все "поломается". Именно поэтому так важно обрабатывать ошибки, о чем я выше писал. Добавлено через 10 минут Если !isset($_GET['id']) - ошибка несуществующей страницы (404) или совсем другая логика, например выдача списка статей вместо отдельной статьи. Если !$article - критическая ошибка с просьбой зайти попозже (503). Если !$art - ошибка несуществующей страницы (404).
0
|
1 / 1 / 0
Регистрация: 18.04.2016
Сообщений: 78
|
|
21.06.2018, 00:41 [ТС] | 6 |
Phantom-84, Если не ошибаюсь, я ставлю (int) против SQL инъекци, а $art у меня только на данной странице и да по переходу у меня тоже в href стоит (int). Хочу еще поинтересоваться (int) нужная вещь?
0
|
350 / 294 / 71
Регистрация: 15.09.2017
Сообщений: 1,305
|
|
21.06.2018, 00:53 | 7 |
В первом запросе оставьте (int), т.к. вы получаете параметр извне, а во втором вы уже получаете тот же самый идентификатор из базы данных, поэтому (int) бесполезен.
Добавлено через 2 минуты в href тоже не нужен, если речь о чем-то вроде href="/article.php?id=<?php echo $comment['article_id']; ?>" .Добавлено через 7 минут Иногда используют какой-нибудь подобный метод представления, если пишут абстрактный шаблон и не уверены в выводимом значении, но для идентификаторов можно смело использовать "сырое" значение без прослойки, т.е. без указания метода представления.
0
|
1 / 1 / 0
Регистрация: 18.04.2016
Сообщений: 78
|
|||||||||||
21.06.2018, 01:10 [ТС] | 8 | ||||||||||
Phantom-84, Я убрал (int) ошибки те же, я не совсем понимаю ваши слова
"Если !isset($_GET['id']) - ошибка несуществующей страницы (404) или совсем другая логика, например выдача списка статей вместо отдельной статьи. Если !$article - критическая ошибка с просьбой зайти попозже (503). Если !$art - ошибка несуществующей страницы (404)" это нужно как-то в коде прописать и получить данные ошибки, чтобы узнать какая именно? Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in
0
|
350 / 294 / 71
Регистрация: 15.09.2017
Сообщений: 1,305
|
|
21.06.2018, 01:38 | 9 |
Это условия, которые нужно проверять, и реакции на их положительную проверку. Естественно, все в коде прописываете.
Ошибка при выполнении запроса. Добавили пробел перед ORDER? Обработку ошибок в любом случае нужно делать, потому что даже если ошибки не будут возникать при одних обстоятельствах, они могут возникнуть при других обстоятельствах. Это основы.
0
|
21.06.2018, 01:38 | |
21.06.2018, 01:38 | |
Помогаю со студенческими работами здесь
9
ошибка Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in W:\domains\test.ru\index Mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given Mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\OpenServer\domains\localhost Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |