Member 14315552 Ответов: 2

$_Session HTML таблица


Итак, у меня есть sql-запрос (ниже), который должен использовать идентификатор входа со страницы входа и выполнять запрос на основе этого пользователя. Я не могу понять правильное форматирование для $_session, кажется, печатает правильный идентификатор пользователя в сообщении об ошибке, но остальная часть запроса не вытягивает никаких данных.

отображение ошибок: У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с '27008 order by Policy asc' в строке 1

Что я уже пробовал:

$sql = "select pendingindex.* from pendingindex join sorttest on pendingindex.pendreckey = sorttest.pendreckey where agentid in( select agentid from pinagentid where pin = . {$_SESSION['user_id']} order by $sort $sort_order";

2 Ответов

Рейтинг:
17

W∴ Balboos, GHB

выберите pendingindex.* из pendingindex
присоединяйтесь к sorttest на pendingindex.pendreckey = sorttest.pendreckey
где agentid in ( выберите agentid из pinagentid, где pin = . {$_SESSION['user_id']} order by $sort $sort_order

Замечаете, что ваш "agentid в (" вложенный запрос . . . у вас не было закрытия ")" прежде чем ваш заказ на пункте.

Попробуй это для начала.


Рейтинг:
1

MadMyche

Первая проблема, которую я вижу, заключается в том, что у вас есть потенциал для уязвимости SQL-инъекции путем объединения вашей SQL-команды. Вы должны сделать это, создав подготовленный оператор и затем привязав его к параметру.

Второй пункт, который я вижу, - это ошибка, в вашем подзапросе нет закрывающей скобки.

Третий пункт, который я вижу, находится в вашем предложении ORDER BY; эти два пункта должны быть разделены пунктами, не разделенными запятой

Рекомендации:
PHP: mysqli::подготовка - руководство пользователя[^]
PHP: PDOStatement::bindParam - руководство пользователя[^]