是的,我有两个查询扫描 MYSQL 数据库中的关键字并返回它们,无论它们是 a) 一起还是 b) 分开。我现在添加了一个名为“rank”的新列,它按顺序排列它们。我在每个查询中添加了“ORDER BY rank”,当我输入一个词时,结果会正确显示,但是当输入两个或更多词时,我得到这个错误:MySQL Query Error: You have an error in your SQL syntax ; 检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“ORDER BY rank”附近使用正确的语法。结果自动按 id 排名。当我从一个查询中删除一个 ORDER BY 标签时,另一个查询的标签将不起作用。我不明白?我的查询如下。
// Terms Together
$query = " SELECT * FROM scan WHERE ";
$terms = array_map('mysql_real_escape_string', $terms);
$i = 0;
foreach ($terms as $each) {
if ($i++ !== 0){
$query .= " AND ";
}
$query .= "keywords LIKE '%{$each}%' ORDER BY rank";
}
/* Query Statement Building - Terms Separate */
$query = " SELECT * FROM scan WHERE ";
$terms = array_map('mysql_real_escape_string', $terms);
$i = 0;
foreach ($terms as $each) {
if ($i++ !== 0){
$query .= " OR ";
}
$query .= "keywords LIKE '%{$each}%' ORDER BY rank";
}