使用类似PHP的MySQL无法正常工作
我想搜索MySQL数据库以匹配用户传递的关键字。我听说使用使用类似PHP的MySQL无法正常工作,php,mysql,Php,Mysql,我想搜索MySQL数据库以匹配用户传递的关键字。我听说使用LIKE是最快的选择,但在PHP代码中找不到使用LIKE的完整简单查询示例 这就是我想要的: $value = 'Fire'; $result = mysql_query("SELECT * FROM effects WHERE title LIKE 'value%'"); 我知道数据库中有一行标题为Fire,但查询返回null 有人能给我一个例子,说明如何执行类似MySQL的搜索,或者通过关键字查找行 谢谢。您需要添加变量的美元符号:
LIKE
是最快的选择,但在PHP代码中找不到使用LIKE的完整简单查询示例
这就是我想要的:
$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE 'value%'");
我知道数据库中有一行标题为Fire
,但查询返回null
有人能给我一个例子,说明如何执行类似MySQL的搜索,或者通过关键字查找行
谢谢。您需要添加变量的美元符号:
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '$value%'");
您需要添加变量的美元符号:
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '$value%'");
变量
值之前缺少$
您的查询应该如下所示
$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '$value%'");
假设有一个标题,如《我的火焰效果》
。您不想在搜索结果中显示此内容?如果你想在结果中显示我的射击效果
,那么你应该在$value之前使用%
$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '%$value%'");
希望这对你有帮助
有关差异,请参阅
注意,演示中的第一个查询返回5行,而第二个查询返回8行,这非常完美。变量
值之前缺少$
您的查询应该如下所示
$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '$value%'");
假设有一个标题,如《我的火焰效果》
。您不想在搜索结果中显示此内容?如果你想在结果中显示我的射击效果
,那么你应该在$value之前使用%
$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '%$value%'");
希望这对你有帮助
有关差异,请参阅
注意,演示中的第一个查询返回5行,而第二个查询返回8行,这是完美的。
'value%'
应该是'value%'
。。您还需要清理用户输入以避免SQL注入或使用PDO
prepared语句$result=mysql_query(“从标题类似“$value%”的效果中选择*”;什么是PDO?它比mysql\u real\u escape\u string()好吗?你可以读到。。这样可以避免使用mysql_*函数。@codelove:比如说有一个类似“我的火焰效果”的标题。您不想在搜索结果中使用此选项?'value%'
应该是'$value%'
。。您还需要清理用户输入以避免SQL注入或使用PDO
prepared语句$result=mysql_query(“从标题类似“$value%”的效果中选择*”;什么是PDO?它比mysql\u real\u escape\u string()好吗?你可以读到。。这样可以避免使用mysql_*函数。@codelove:比如说有一个类似“我的火焰效果”的标题。您不想在搜索结果中显示此内容?此查询无效。使用法希姆的答案。@Bailey:我已经调整了答案。你也可以自己做。@Bailey最初的问题只有“火”这个词。@Bailey:我的编辑正在等待审核,你还看不到。还在等待审核吗$值%'无效。是“%$value%”此查询无效。使用法希姆的答案。@Bailey:我已经调整了答案。你也可以自己做。@Bailey最初的问题只有“火”这个词。@Bailey:我的编辑正在等待审核,你还看不到。还在等待审核吗$值%'无效。它是“%$value%”