您的SQL语法中有错误-有关查询的帮助

时间:2015-02-15 作者:ogmios

我有一个程序员,他为客户机的网站开发了一个自定义插件,在将网站移动到客户机的服务器后,有些部分不起作用。查看错误日志,他的查询有问题。编码对我来说似乎有点糟糕,当我查看它时,我注意到他在查询中硬编码了表前缀,所以我怀疑他的其余代码写得很糟糕。

我收到的错误消息是:

WordPress数据库错误您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解要使用的正确语法“在第1行中选择hh3\\u property\\u list\\u tbl。*,hh3\\u model\\u list\\u tbl.model\\u color from HHH3\\u property\\u list\\u tbl,hh3\\u model\\u list\\u tbl where HHH3\\u model\\u list\\u tbl.id=HHH3\\u property\\u list\\u tbl.model\\u id and model\\u id=made by require(\'wp-blog-header.php\'),require\\u once(\'wp-includes/template loader.php\'),include(“/主题/和谐/floor\\u plan.php”)

知道是什么导致mySQL问题吗?非常感谢。

2 个回复
SO网友:Vee Bee

如果这是一个错误,那么可能会发生一些事情。代码中使用“require”、“require\\u once”和“include”的部分可能不正确。每个代码语句都应该以分号[;]结尾不是逗号[,]

hh3\\ui expect是最初在数据库中使用的表前缀。这仍然是所有表的前缀吗??

V形

SO网友:Linda Paiste

据我所知,你不能SELECT 用逗号分隔多个表;您需要使用JOIN 陈述

这是您当前的查询,在您的错误消息中看起来它被截断了。如果没有,则需要修复final语句“和model\\u id=”,并为其指定相等的值或将其删除。

SELECT hh3_property_list_tbl.*, hh3_model_list_tbl.model_color
FROM hh3_property_list_tbl, hh3_model_list_tbl
WHERE hh3_model_list_tbl.id=hh3_property_list_tbl.model_id
AND model_id=
请尝试以下操作:

SELECT hh3_property_list_tbl.*, hh3_model_list_tbl.model_color
FROM hh3_property_list_tbl
LEFT JOIN hh3_model_list_tbl
ON hh3_property_list_tbl.model_id = hh3_model_list_tbl.id
WHERE hh3_property_list_tbl.model_id= [needs something here]
您还可以使用AS语句为这些表命名。它可能更容易阅读,但功能上是一样的。

SELECT properties.*, models.`model_color`
FROM `hh3_property_list_tbl` AS properties
LEFT JOIN `hh3_model_list_tbl` AS models
ON properties.`model_id` = models.`id`
WHERE properties.`model_id` = [needs something here]

结束

相关推荐

Query Set Order By Author

当您单击票证列表上的“作者”箭头时,我试图按author\\u名称排序。单击箭头时,名称按我无法识别的顺序排列。我希望他们按实际名称而不是用户的ID号订购。如何让orderby按照用户(作者)的“好名字”进行查询?public function add_support_ticket_author_query( $query ) { if ( $query->is_main_query() && ( $orderby = $query->get( \'or