php - Postgres INNER JOIN 查询问题
问题描述
我有两个表用户和发现,但我无法使用 postgres 和 php 中的连接查询它们。我的查询是
$query = 'SELECT discovery.id,user.avatar,user.name,user.city,user.country,
discovery.image,discovery.likes,discovery.pincount FROM discovery
WHERE (discovery.id=$1)
INNER JOIN user ON (discovery.user=user.id)';
$res = pg_query_params($query, array($_POST['discovery_id']));
我收到错误
syntax error at or near "."
我在发现表中有一个字段用户,还有一个名为 user 的表。
解决方案
请试试这个
$query = 'SELECT d.id, u.avatar, u.name, u.city, u.country,
d.image, d.likes, d.pincount FROM "discovery" AS d
INNER JOIN "user" AS u ON (d.user = u.id) WHERE (d.id = $id)';
$res = pg_query_params($query, array($_POST['discovery_id']));
出现问题的原因user
是postgressql(postgresql.org/docs/8.1/static/sql-keywords-appendix.html)上的保留字,user
没有的表名"
被称为关键字
推荐阅读
- shell - 将输入和输出重定向到缓冲区和从缓冲区重定向
- node.js - 如何在 node-postgres 中的 client.release() 末尾修复无限 Promise 循环?
- javascript - Wordpress 网站上主题之间的 Javascript 模态弹出窗口
- sage - Sage TypeError 符号计算中不允许的正特征
- python-3.x - pywinatuo - 同一属性的访问数据库匹配错误 - 代码适用于小型数据库而不适用于大型数据库
- bash - 新的 bash shell 打开时 bash 找不到函数
- haskell - 如何断言内部函数的类型取决于 Haskell 中外部函数的类型?
- scala - 是否有内置函数将 Int 限制为 Range?
- ruby-on-rails - Elasticsearch 6.2.4 [400] {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"文本为空 (可能是 HTTP/0.9)"}]
- python - 在pygame中检查碰撞和停止速度