3

这不起作用

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

我收到此错误:

警告:pg_query():查询失败:错误:“-”或附近的语法错误

这个确实有效

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

所以我想问题是连字符。写这个的正确方法是什么?我已经尝试将列名包含在几乎所有内容中......“时间领主”、[时间领主]、“时间领主”,但似乎没有任何效果。

4

2 回答 2

2

您可以使用双引号 ( ") 转义对象名称:

$query = "SELECT * FROM \"time-lords\" WHERE user='thedoctor'";
于 2019-03-21T17:30:09.963 回答
0

谢谢!这解决了语法错误。为了让查询过滤,我还必须在列上使用转义双引号:

$query = "SELECT * FROM \"time-lords\" WHERE \"user\"='thedoctor'";
于 2019-03-21T17:55:07.120 回答