Синтаксическая ошибка pq_query из-за дефиса.Как мне написать это? - PullRequest
3 голосов
/ 21 марта 2019

Это не работает

$query = "SELECT * FROM time-lords WHERE user='thedoctor'";

Я получаю эту ошибку:

Предупреждение: pg_query (): Запрос не выполнен: ОШИБКА: синтаксическая ошибка в или около "-"

Этот действительно работает

$query = "SELECT * FROM time_lords WHERE user='thedoctor'";

Так что я полагаю, что проблема заключается в дефисе.Как правильно написать это?Я попытался обернуть имя столбца практически во все ..... "временные лорды", "временные лорды", "временные лорды" и, похоже, ничего не работает.

Ответы [ 2 ]

2 голосов
/ 21 марта 2019

Вы можете экранировать имена объектов двойными кавычками ("):

$query = "SELECT * FROM \"time-lords\" WHERE user='thedoctor'";
0 голосов
/ 21 марта 2019

Спасибо!Это решило синтаксическую ошибку.Чтобы получить запрос на фильтрацию, я также должен был сделать двойную кавычку escape в столбце:

$query = "SELECT * FROM \"time-lords\" WHERE \"user\"='thedoctor'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...