Php sql中的LIKE查询不起作用

Php sql中的LIKE查询不起作用,php,html,mysql,forms,sql-like,Php,Html,Mysql,Forms,Sql Like,我有一个充满值的数据库。我想根据标题查询并获取某些值。我使用sql中的LIKE查询来实现这一点 由于某些原因,当我在搜索栏中查询“new”时,不会出现任何结果。数据库中有一个标题为“新建项”的项 Html: PHP: 取决于$search字符串是什么。当db Title中的字符串与传递给$search的字符串完全相同时,它必须工作。但是,当您还想查找子字符串时,必须在$search字符串之前和/或之后添加百分比char% 比如说 LIKE '%$search%' 首先,我不会在输入中使

我有一个充满值的数据库。我想根据标题查询并获取某些值。我使用sql中的LIKE查询来实现这一点

由于某些原因,当我在搜索栏中查询“new”时,不会出现任何结果。数据库中有一个标题为“新建项”的项

Html:




PHP:


取决于$search字符串是什么。当db Title中的字符串与传递给$search的字符串完全相同时,它必须工作。但是,当您还想查找子字符串时,必须在$search字符串之前和/或之后添加百分比char%

比如说

LIKE '%$search%'

首先,我不会在输入中使用默认值,而是应该使用占位符属性使其看起来像这样

<input type="text" name="search" id="search" placeholder="Search...">
$results = mysqli_query($connection, "SELECT * FROM mi4 WHERE Title LIKE '%$search%'");
%符号是一个通配符,因此如果不使用它,查询将搜索变量上的确切文本,使用此符号,查询将在整个字符串中搜索变量上的文本

下面是MyQSL中使用的一些通配符的列表

或die(mysqli\u错误($connection))
添加到
mysqli\u query()
中,查看是否产生任何结果。另外,请确保您已连接并使用相同的API。“New Item”不会=“New”,您需要的是“$search%”之类的“New”“您还应该转义用户输入。我补充说,它不会返回错误。另外,在执行像“$search”这样的
时,
需要产生一个精确的搜索。您可能需要使用类似“%$search%”之类的
或类似“%$search%”之类的
或类似“%$search%”之类的
符号
符号正确,谢谢!
<input type="text" name="search" id="search" placeholder="Search...">
$results = mysqli_query($connection, "SELECT * FROM mi4 WHERE Title LIKE '%$search%'");