繁体   English   中英

MySQL搜索

[英]MySQL search for a

我需要在mysql表中执行搜索,以在特定列(类型:文本)中找到某个单词。

我认为最简单的方法是:

$str = "something"; # let's say passed by POST or GET from a form
$sql = "select lala, textThing from table_name where dudu=1 and textThing LIKE %'$str'%";

如果在mysql中手动执行查询,但在通过Web的php上执行手动查询,这似乎可以正常工作。 它抛出

您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'%searchedString%'附近使用

在哪里searchedString是我搜索的字符串:)

第一个PHP如下所示:

$str = NULL;


echo "<p>Search for a string</p>";
echo "<form name='formSearch' action='result.php' method='post'>";
echo "<input type='text' name='text' size='30'/>";
echo "<input type='submit' name='search' value='Search'/>";
echo "</form>";

第二个只是获取“文本”并执行mysql并应显示数据

您必须将LIKE子句放在引号之间。 像这样在您的php代码中转义它们:

$sql = "select lala, textThing from table_name where dudu=1 and textThing LIKE \"%".$str."%\""

您需要在引号或双引号中包含%。

$ sql =“从表名中选择lala,textThing,其中dudu = 1,并且textThing喜欢'%$ str%'”;

要么

$ sql =“从表名中选择lala,textThing,其中dudu = 1,并且textThing喜欢'%” + $ str +“%'”;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM