php - 在 PHP 中选择 MySQL 时出现问题

标签 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 '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/

相关文章:

php - 如何在 PHP 中以 Mysql DateTime 格式打印当前月份

php - 在 mysql 中连续比较

php - 如何找到最低唯一出价者并显示该最低唯一出价者的用户名

mysql - mySQL 查询中的错误#1064

php - HTML-PHP 登录后和登录前

php - MySQL 数据库中字符串替换的正则表达式

mysql - 外部和内部 SQL 连接

php - 使用 MySQL 事件查询

python - SQLAlchemy 中与数据库无关的 MAX() 函数

mysql - 计算一列的重复次数