Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 搜索数据库mysql_Php_Sql - Fatal编程技术网

Php 搜索数据库mysql

Php 搜索数据库mysql,php,sql,Php,Sql,我创建了一个存储过程来按名称搜索数据库。我在数据库中保存了很多文本文件,如:a.txt、a1.txt、a2.txt、a3.txt 当我运行stoerd过程时,只显示1个资源 SELECT * FROM cars WHERE name LIKE CONCAT ('%', search ,'%'); 这里的问题是什么?您的问题解决方案是 SELECT * FROM cars WHERE name LIKE CONCAT ('%'. $search . '%'); 或者,如果您直接在sql se

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

当我运行stoerd过程时,只显示1个资源

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

这里的问题是什么?

您的问题解决方案是

 SELECT * FROM cars WHERE name LIKE CONCAT ('%'. $search . '%');
或者,如果您直接在sql server上使用,则

SELECT * FROM cars WHERE name LIKE CONCAT ('%search%');
如果
$search
(注意美元符号)是一个PHP变量(我假设因为您将问题标记为“PHP”),您不必使用SQL函数
CONCAT
,而是在PHP中连接字符串并将其全部发送到MySQL:

$sql = 'SELECT * FROM cars WHERE name LIKE "%'.$search.'%"';
这是因为
CONCAT
会将您的
%
视为一个字符,而不是一个搜索条件。

试试这个

 SELECT * FROM cars WHERE name LIKE '%$search%' ;
还是这个

    WHERE name LIKE '$search'

你的问题看起来没问题。。显示您的存储过程!如果我想签入姓名、评论和作者,如何组合搜索。资源的需求是这样的。姓名、评论、作者