I7uoHep
@I7uoHep

Как убрать ошибку в запросе mysql?

Тостер, привет снова, появилась очередная ошибка с mysql
есть такой запрос:
SELECT username FROM ".$nearTour['tourpreregtable']." WHERE username = '".$_COOKIE['username']."'

после выполнения он умирает и выдает такую ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE username = 'test'' at line 1

Собственно где я облажался?
  • Вопрос задан
  • 604 просмотра
Пригласить эксперта
Ответы на вопрос 5
@Yago
$nearTour['tourpreregtable'] - пустой

сделайте вывод запроса перед запуском будет понятнее
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Ты так пишешь, как будто у тебя появился очередной повод для гордости ,и ты спешишь со всеми поделиться.

Проблем у тебя у тебя две (на самом деле гораздо больше, но это основные).
1. Ты должен включить отображение ошибок РНР.
2. Переменные передавать в запрос ТОЛЬКО через плейсхолдеры
3. И да, что-то я подзабыл последний пункт. Надо правильно обрабатывать ошибки mysql, выдавая, во-первых, имя файла и строку, в которой произошла ошибка, а во-вторых, добавляя к ней сам запрос.
Ответ написан
Комментировать
w999d
@w999d
Web-developer
для начала в $_COOKIE['username'] - тут явно может быть что угодно, например, '; DROP DATABASE x; - не вставляйте никакие данные напрямую.
ну и escape: username => `username`... многие слова являются ключевыми
Ответ написан
@KuzmenkoArtem
Попробуйте напрямую sql запрос сделать в phpMyAdmin или тем чем вы пользуетесь. Ошибка будет?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы