我有一个MySQL表保存有以下的列车辆信息搜索:全球搜索领域,通过多列
year (int)
model_name (varchar)
chassis (int)
engine (int)
body_type (text)
我有,我希望用户能够搜索特定型号的搜索框然后通过AJAX显示结果。一切都按预期工作,只有一个结果:它只显示匹配单个列的结果。
例如,可以说我有表中的一行:
year: 1965
model_name: Mercedes 220SEb
chassis: 111.014
engine: 127.982
body_type: Sedan
现在,我能得到这个通过搜索无论是1965
OR Mercedes 220SEb
露面,但不露面通过搜索1965 Mercedes 220SEb
,这是我想要的。
下面是该查询(通过AJAX/$。员额通过为$ _ POST [“搜索”])
$like_search = '"%' . $_POST['search'] . '%"';
$sql = 'SELECT * FROM ac_models WHERE year LIKE ' . $like_search . ' OR model_name LIKE ' . $like_search . ' OR chassis LIKE ' . $like_search . ' OR engine LIKE ' . $like_search . ' OR body_type LIKE ' . $like_search . ' ORDER BY year ASC';
如何修改我的查询来匹配多个列
'$ sql_where = substr($ sql_where,5)'语句的用途是什么? – idealbrandon
没关系,只是意识到它是删除第一个AND('从字符串。 – idealbrandon
这是完美的,做了我所需要的 – idealbrandon