PHP-SQL LIKE子句与%

时间:2017-10-12 08:50:16

标签: php mysql

数据库:




 <代码> + ---------------------- +&#XA +  - 关键字定位| -ANSWER ----- +&#XA + ---------------------- +&#XA +嗨,你好|嘿+&#xA; +谁,其中| example123 +&#xA; + ---------------------- +&#xA;  
&#xA;&#xA;

文本框中的用户输入:

&#xA;&#xA;
 你是谁&#xA;  
&#xA;&#xA;

SQL查询

&#xA;&#xA; <前> <代码> SELECT回答来自聊天WHERE关键词LIKE'%你是谁%'限制0,1&#xA; &#xA;&#xA;

我得到的输出是 空白

&#xA;&#xA;

预期输出:< / p>&#XA;&#XA;

 <代码> example123&#XA;  
&#XA;

4 个答案:

答案 0 :(得分:1)

也许你必须爆炸字符串来构建这样的请求:

SELECT answer FROM chat WHERE keyword LIKE '%Who%' OR keyword LIKE '%are%' OR keyword LIKE '%you%' LIMIT 0,1

答案 1 :(得分:0)

您可以使用此查询获取输出

$ qry =“SELECT answer FROM chat WHERE keyword LIKE'%Who%'LIMIT 0,1”;

输出: - example123

答案 2 :(得分:0)

LIKE '%Who are You%'会检查包含Who are You

的字符串

以下是解释:

https://www.w3schools.com/sql/sql_like.asp

您也可以使用@Ioic解释的查询

答案 3 :(得分:-1)

虽然您的搜索字词等于Who are you,但在KEYWORD列中您只有问题的第一个字。我们需要将第一个单词与输入语句分开。然后使用KEYWORD通配符将第一个单词与%列进行比较。结果可能会变成:

$input = $_POST['textInput'];
$exploded = explode(' ', $input);

$to_compare = $exploded[0];

$q = "SELECT answer FROM chat WHERE keyword LIKE '%$to_compare%' LIMIT 0,1";