Ошибка синтаксиса SQL Версия сервера MariaDB для правильного синтаксиса для использования рядом с 'WHERE ID = 4' в строке 1

У меня есть эта строка SQL :

 $sql = "SELECT ID, ListStID, ListEmail, Title FROM $entry_database WHERE ID = '". $ReqBookID ."'"; $result = mysqli_query($conn, $sql); 

Как вы можете видеть, я выбираю идентификатор записи, ListStID, ListEmail и Title Column, если ID равен строке чисел (или текста), которые даются пользователем в форме.

Все в порядке, и я не получаю синтаксическую ошибку при написании кода (я использую программное обеспечение для редактора кода. Однако, когда я использую его в Интернете, я получаю эту ошибку:

Ошибка: SELECT ID, ListStID, ListEmail, Title FROM WHERE ID = '4' У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с 'WHERE ID =' 4 '' в строке 1

Я очень новичок в PHP, и я уверен, что добавляю лишние «или», поэтому я был бы очень признателен, если бы вы могли помочь мне в этом вопросе. Я пробовал ответы на подобные вопросы, но пока ничего не добился.

ОБНОВЛЕНИЕ 1:

Поэтому, благодаря всем тем, кто указал на это, я исправил ошибку $ entry_database, и теперь она работает правильно.

Многие МНОГИЕ Спасибо за все ваши усилия.

Related of "Ошибка синтаксиса SQL Версия сервера MariaDB для правильного синтаксиса для использования рядом с 'WHERE ID = 4' в строке 1"

У вас есть пустая переменная $entry_database . Как вы видите по ошибке: ListEmail, Title FROM WHERE ID bewteen FROM и WHERE должно быть именем таблицы. Правильный синтаксис SELECT:

 SELECT columns FROM table [optional things as WHERE/ORDER/GROUP/JOIN etc] 

который на вашем пути должен стать:

 SELECT ID, ListStID, ListEmail, Title FROM some_table_you_got WHERE ID = '4' 

Вам не хватает имени вашей базы данных:

 $sql = "SELECT ID, ListStID, ListEmail, Title FROM ".$entry_database." WHERE ID = ". $ReqBookID ."; 

И убедитесь, что $ entry_database не является нулевой или пустой:

 var_dump($entry_database); 

Также обратите внимание, что вам не нужно иметь $ ReqBookID в '', как если бы это Int.

Назначьте имя таблицы переменной $ entry_database до:

 $entry_database = "my_table"; // as an example $sql = "SELECT ID, ListStID, ListEmail, Title FROM $entry_database ...."; 

Что касается WHERE-Statement, вы также должны узнать о SQL Injection: http://php.net/manual/en/security.database.sql-injection.php

Сделайте ваш сценарий более безопасным.