【发布时间】:2014-04-09 10:28:10
【问题描述】:
我的搜索页面有问题。 我有一个要搜索的产品列表
搜索必须包括:
- 产品名称 - produse.produs
- 类别 - categorii.categorie
- 变体名称 - variante.nume_varianta
-
变体代码 - variante.nume_varianta
SELECT produse.*, variante.*, categorii.categorie FROM produse LEFT JOIN variante ON variante.id_produs=produse.id_produs LEFT JOIN categorii ON categorii.id_categorie=produse.id_categorie LEFT JOIN produse_valori ON produse_valori.id_produs=produse.id_produs WHERE MATCH (CONCAT_WS( produse.produs, variante.varianta_cod ,categorii.categorie, variante.nume_varianta)) AGAINST ( '.$keyword.' IN BOOLEAN MODE ) and produse.activ=1 GROUP BY produse.id_produs
但没有结果 我在 phpMyAdmin 中收到此错误:
#1064 - You have an error in your SQL syntax
【问题讨论】:
-
'".$keyword."'不是 SQL。 -
你为什么在
MATCH()中使用CONCAT_WS()?? -
@h2ooooooo $keyword 是要搜索的语法
-
@eggyal 你有什么建议?
-
@nickRO87 没关系 - 你说你不能在 PHPMyAdmin 中使用 SQL 因为 PHPMyAdmin 读取 SQL - 而不是 PHP 代码。它不知道
'".$keyword."'是什么,因为它不接触PHP 编译器。如果您在 PHPMyAdmin 中运行查询,您需要确保它们是有效的 SQL - 而不是 PHP。它只被称为“PHPMyAdmin”,因为它是用 PHP 制作的。
标签: php mysql match match-against