У меня есть эта строка 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, и теперь она работает правильно.
Многие МНОГИЕ Спасибо за все ваши усилия.
У вас есть пустая переменная $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
Сделайте ваш сценарий более безопасным.