搜索数据库mysql

时间:2013-03-23 18:23:05

标签: php sql

我创建了一个存储过程来按名称搜索我的数据库。我有很多文本文件保存在数据库中,名称如下:a.txt,a1.txt,a2.txt,a3.txt,...

当我运行我的stoerd程序时,只显示1个resoult。

SELECT * FROM cars WHERE name LIKE CONCAT ('%', search ,'%');

这里有什么问题?

3 个答案:

答案 0 :(得分:1)

您的问题解决方案是

 SELECT * FROM cars WHERE name LIKE CONCAT ('%'. $search . '%');

或者如果您直接使用sql server然后

SELECT * FROM cars WHERE name LIKE CONCAT ('%search%');

答案 1 :(得分:0)

如果$search(注意美元符号)是一个PHP变量(我假设因为你用“php”标记了这个问题),你不必使用SQL函数CONCAT但是在PHP中加入字符串并将其全部发送到MySQL:

$sql = 'SELECT * FROM cars WHERE name LIKE "%'.$search.'%"';

这是因为CONCAT会将您的%视为字符,而非搜索条件。

答案 2 :(得分:0)

试试这个

 SELECT * FROM cars WHERE name LIKE '%$search%' ;

或者

    WHERE name LIKE '$search'