Ошибка в SQL-запросе при включении переменной ($ lecno) в запрос [duplicate]

0

Изображение 174551

1) Посмотрите изображение для моего SQL Databse

2) Я пытаюсь отобразить Лекционную ссылку, Название и описание на основе номера номера и номера лекции

3) Вот мой код

<?php
$course_id=$_GET['course'];
$weekno=$_GET['week'];
$lecno=$_GET['lecno'];

$query=mysqli_query($con,"select * from week$weekno where 
course_id='$course_id'");
$row_query=mysqli_fetch_array($query);
$title=$row_query['lectitle$lecno'];

?>

4) Все в порядке, но я получаю ошибку, поскольку $ row_query ['lectitle $ lecno'] дает ошибку. undefined index lectitle $ lecno Как я получаю номер лекции от _GET, и я буду отображать lectitle (i), leclink (i), где я обозначает номер лекции.

Как я могу написать этот запрос?

  • 1
    Подстановка переменных не работает, если заключена в одинарные кавычки - 'lectitle$lecno'
  • 0
    Если у вас нет особых требований (то есть больших объемов данных), использование нескольких таблиц в течение недели - это, как правило, плохой дизайн. Это может означать необходимость запроса нескольких таблиц для суммирования данных за определенный период времени.
Теги:
mysqli
phpmyadmin
mysql-error-1064

1 ответ

0
Лучший ответ

Как правило, неверно использовать переменные произвольно в строках, например

"select * from week$weekno where course_id='$course_id'"

который должен быть больше похож (просто пример, есть другие проблемы с этим, см. ниже)

"select * from week" . intval($weekno) . " where course_id='{$course_id}'"

В частности, это подтолкнуло вас в ловушку случайного выполнения этого в одинарных кавычках, что не работает вообще. + Изменить

$title=$row_query['lectitle$lecno'];

в

$title = $row_query['lectitle' . $lecno];

Также: важно санировать вход. С запросами вы можете использовать подготовленные инструкции: http://php.net/manual/en/mysqli.prepare.php

  • 0
    Это сработало и спасибо за предложение тоже. На самом деле у меня есть платформа, на которой курс может длиться до 8 недель, а каждая неделя может иметь до 6 лекций, поэтому я планировал создать структуру базы данных, как показано на рисунке, прикрепленном к вопросу.
  • 0
    Есть ли другие способы, которыми я могу создать свою базу данных.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню