我收到此错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and idcat = 00 OR idcat = 11 OR idcat = 4 OR idcat = 8 OR idcat = 10 OR idcat ' at line 6
我尝试在 PHP 上执行此查询
SELECT *,
MATCH (name,description) AGAINST ('key') AS relevancia
FROM offer
WHERE
MATCH (name,description)
and idcat = 00
OR idcat = 11
OR idcat = 4
OR idcat = 8
OR idcat = 10
OR idcat = 5
OR idcat = 7
OR idcat = 1
OR idcat = 2
OR idcat = 3
OR idcat = 6
OR idcat = 9
AGAINST ('key')
ORDER BY discount DESC
LIMIT 0, 15
但是如果我尝试直接在 phpmyadmin 上执行此查询,它就可以正常工作。所以我不知道为什么如果同样的咨询在 PHP 上不起作用。
顺便请原谅我糟糕的英语。
编辑:
这是 php 控制台
$sql2 = "SELECT *,
MATCH (name,description)
AGAINST ('$search')
AS relevancia
FROM offer
WHERE MATCH (name,description) AGAINST ('$search')
and $wheres $order $limit";
echo $sql2;
mysql_query("".$sql2."") or die (mysql_error());
$sql2 上的 php 结果
SELECT *, MATCH (name,description) AGAINST ('key') AS relevancia
FROM offer
WHERE MATCH (name,description) AGAINST ('key')
and idcat IN(00, 11, 4, 8, 10, 5, 7, 1, 2, 3, 6, 9)
ORDER BY discount DESC LIMIT 0, 3
php-mysql 错误
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to
use near
'idcat IN(00, 11, 4, 8, 10, 5, 7, 1, 2, 3, 6, 9) ORDER BY discount DESC' at line 5
最佳答案
试试这个:
SELECT *, concat (name, relevance) AS relevancia
FROM offer
WHERE MATCH (name,description) AGAINST ('key')
and (idcat = '00'
OR (idcat > 0
and idcat<=11))
ORDER BY discount DESC LIMIT 0, 15
关于php - 在 PHP 中选择 MySQL 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785863/