partyzanx
@partyzanx

Почему bool(false) выходит в get запросе?

db.php :

// Получение одной статьи по её id
function get_lesson_by_id($id) {
    global $db;
    $lessons = $db->query("SELECT * FROM entries WHERE id = $id");
    foreach ($lessons as $lesson) {
    return $lesson;
    }
    
 var_dump($lessons);
};


lesson.php :

<? require "/home/hskwiki/public_html/db.php" ?>

<!DOCTYPE HTML>
<html>
    
<? require "/home/hskwiki/public_html/header.php" ?>

<body>
    
<? require "/home/hskwiki/public_html/bar.php" ?>

<? require "/home/hskwiki/public_html/content-lesson.php" ?>

</body>
</html>


content-lesson.php

<?php $lesson = get_lesson_by_id($_GET['id']);?>

 
<?php echo $lesson["text"];?>


И когда я запрашиваю в юрл браузера гет - запрос site.com/lesson.php?=1

выдаёт bool(false)

Как это исправить?

Ошибки:

Notice: Undefined index: id in /home/hskwiki/public_html/content-lesson.php on line 7
<? $lesson = get_lesson_by_id($_GET["id"]); ?>

Warning: Invalid argument supplied for foreach() in /home/hskwiki/public_html/db.php on line 21

foreach ($lessons as $lesson) {
  • Вопрос задан
  • 344 просмотра
Решения вопроса 2
Stalker_RED
@Stalker_RED
"SELECT * FROM entries WHERE id = $id"
SQL-инъекции - это опасно.

Почему...?
Точную причину отсюда не видно, но скорее всего запись с таким id не найдена, либо еще какой-то косяк с запросом.

Как это исправить?
Включить наконец-то отображение ошибок, либо открыть лог. Прочесть ошибку написанную буковками гораздо проще, чем УГАДАТЬ.
Ответ написан
proudmore
@proudmore
site.com/lesson.php?id=1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы