romanbel
@romanbel
Программист

Почему выдает ошибку при записи переменной через ссылку?

Есть такой код
$connect = mysql_connect(localhost, mysql, 'mysql');
$select_db = mysql_select_db('Сайт');
$select = mysql_query("SELECT * FROM posts WHERE id = $postid");

 while($result = mysql_fetch_array($select))
{
echo "
<h2>$result[title]</h2>
<p>$result[pub_date]</p>
<p>$result[content]</p>  
"; 
}

Переменная $postid должна передаваться через ссылку:
mysite.ru/post?postid=1
Однако происходит такая ошибка:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in W:\domains\mysite.ru\post.php on line 98

Однако, если прописать значение переменной в коде, то все будет работать.
В чём проблема? Заранее спасибо
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
erniesto77
@erniesto77
oop, rb, py, php, js
по той информации которую вы дали, сразу можно сказать что в $postid вообще нигде ничего не записывается
нужно присвоить значение туда
$postid = isset($_GET['postid']) ? $_GET['postid'] : null;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Arik
mysql_fetch_array ругается что ему нужен resource, а mysql_query возвращает его только если нет ошибок, иначе вернет false, у вас нет проверок на ошибок и вывод SQL что хотите выполнить из-за этого попали в тупик.
"Через ссылку" – это get-запрос и данные переменные доступны через суперглобальный массив $_GET или $_REQUEST, если неважно get-запрос или post-запрос. Но при таких работах нужно помнить просто SQL-инъекции
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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