数据库:
&#XA;&#XA;<代码> + ---------------------- +&#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;
答案 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";