0 голосов
спросил от в категории PHP
Как вы ожидаете возврата нескольких столбцов, которые должны быть возвращены и заданы одним и тем же именем?
... , t1.* AS ID, ...
" *" возвращает несколько строк и может; t использовать с AS

Никогда не используйте SELECT * ... FROM - всегда указывайте свои столбцы. Таким образом, у вас есть контроль над тем, что возвращается, и порядок, который он возвращает, так что изменения базы данных не влияют на ваш код (если только не требуется удалить требуемый столбец, и в этом случае вы ОПРЕДЕЛЕННО хотите узнать об этом). Это также помогает с пропускной способностью, поскольку лишние столбцы не возвращаются, что может привести к большой пропускной способности, памяти и времени.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Из-за проблемы с SQL-инъекцией мы понятия не имеем, что такое реальный запрос.
"SELECT t2.field_label AS FLABEL, t1.* AS ID, t2.field_comment AS FCOMMENT FROM form_fields AS t1, form_field_translations AS t2 WHERE t1.field_id=t2.field_id AND lang='".$_SESSION['MDS_LANG']."' AND section='$section' AND form_id='$form_id' $where_sql order by field_sort"

Не решение ваш вопрос, но еще одна проблема, которую вы имеете.
Никогда не создавайте SQL-запрос, объединяя строки. Рано или поздно вы сделаете это с помощью пользовательских входов, и это откроет дверь для уязвимости с именем «SQL injection», это опасно для вашей базы данных и подверженности ошибкам.
Одиночная цитата в названии и вашем крах программы. Если пользователь вводит такое имя, как «Брайан О'Коннер», это может привести к краху вашего приложения, это уязвимость в SQL-инъекции, и авария является наименьшей из проблем, вредоносного ввода пользователя и продвигается к командам SQL со всеми учетными данными.
"SELECT t2.field_label AS FLABEL, t1.* AS ID, t2.field_comment AS FCOMMENT FROM form_fields AS t1, form_field_translations AS t2 WHERE t1.field_id=t2.field_id AND lang='".$_SESSION['MDS_LANG']."' AND section='$section' AND form_id='$form_id' $where_sql order by field_sort"
# [#^ #]
#SQL Injection # [#^ #]
#SQL Injection Attacks by Example # [#^ #]
#PHP: SQL Injection - Manual # [#^ #]
#SQL Injection Prevention Cheat Sheet - OWASP # [#^ #]
1
"SELECT t2.field_label AS FLABEL, t1.* AS ID, t2.field_comment AS FCOMMENT FROM form_fields AS t1, form_field_translations AS t2 WHERE t1.field_id=t2.field_id AND lang='".$_SESSION['MDS_LANG']."' AND section='$section' AND form_id='$form_id' $where_sql order by field_sort"
# [1#^ #]

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...