我正在尝试调试一些我从另一个团队继承的代码,我无法访问这些代码。
代码生成以下查询:
SELECT blah FROM missing_table
WHERE ...
AND MATCH ('@identity PROFILE @security 0|10000060')
GROUP BY document_id ORDER BY posted DESC LIMIT 0, 5
请注意缺少“反对”条款。
此查询产生以下错误:
错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在“@identity PROFILE @security 0 | 10000060”附近使用正确的语法。
这里有几件奇怪的事情:
1)当我做“desc”或“show tables”时,表(我在这里将名称更改为“missing_table”以保护无辜者)不会出现。
2)查询中没有“AGAINST”子句。
任何有关此处可能发生的事情的线索都将非常感谢!
答案 0 :(得分:1)
你只是说过线索,所以如果我至少找不到表格定义,如果不是数据那么我会怎么做有点不清楚。但这是我用来搜索三列的工作查询的示例;维护中的MM,地址1和城市 (我认为你必须用逗号分隔所有东西,但看到越来越多的初学者逃脱谋杀并使用mysql语句。
$sql = "SELECT * FROM `maintable` where `type` = '" . $ptyp . "' AND MATCH(MM, address1, city) AGAINST('" . $one . "*' IN BOOLEAN MODE) LIMIT " . $pagelimit. ", 20";