喜欢不工作的mysqli

时间:2013-12-01 00:28:03

标签: php mysql sql

以下查询不会返回任何结果

   $title = urldecode($_GET['dc']);//contains Speakers
   $r = '%'.$title.'%';
   $stmt = $mydb->prepare(" SELECT * from table where title LIKE ?");
   echo $mydb->error;
   $stmt->bind_param('s', $r );
   $stmt->execute();

但如果我将$r更改为'%'.'Speak'.'%';则可以

我做错了什么?

1 个答案:

答案 0 :(得分:0)

首先,您不需要urldecode。删除它,因为它可能会破坏你的头衔。

其次,请注意,根据您的整理,您的Like可能区分大小写。

第三......你说$_GET['dc']包含'发言者'。你确定吗?您是否尝试过echo htmlspecialchars($_GET['dc']);来确定?

最后......当你使用Speak ...而不是Speakers时,你说它有用了......这是什么?如果您使用%Speakers%%Speak%进行搜索,则无关紧要。

编辑同时尝试修剪标题以删除前导和尾随空格。因此,请尝试将$title = urldecode($_GET['dc']);更改为$title = trim($_GET['dc']);