具有PDO执行查询的LIKE关键字不起作用

时间:2015-03-22 18:27:23

标签: php sql database pdo prepared-statement

它正在返回虚假,我已经通过这个论坛上的其他几个答案尝试了所有内容,双引号,单引号......并且仍然给予了很多困难。有人请解释一下。

感谢。

$query_string = $this->conn->prepare('select category_id, thread_id, thread_title, thread_body from thread where thread_title LIKE :thread_title OR thread_body LIKE :thread_body');
$query_string->execute(array(':thread_title'=>"%$this->search_this%", ':thread_body'=>"%$this->search_this%"));

2 个答案:

答案 0 :(得分:0)

试试吧

$query_string = $this->conn->prepare('select category_id, thread_id, thread_title, thread_body from thread where thread_title LIKE :thread_title OR thread_body LIKE :thread_body');
$query_string->execute(array(':thread_title'=>'%'.$this->search_this.'%', ':thread_body'=>'%'.$this->search_this.'%'));

如果有任何问题,请告诉我。

答案 1 :(得分:-1)

像查询一样的SQL就像

SELECT category_id,thread_id,thread_title,thread_body FROM thread WHERE thread_title LIKE'Thread Title';

或者你可以像这样写它 SELECT category_id,thread_id,thread_title,thread_body FROM thread WHERE thread_title LIKE'Thread Title%';

表示您的搜索字符串介于''(单引号)

之间

我没有像你一样使用pdo sql代码,我用这种方式编写

$ query_string = $ this-> conn-> prepare(“select thread_id,thread_id,thread_title,thread_body from thread where thread_title LIKE'%”。$ this-> search_this。“%'OR thread_body LIKE'% ” $这 - > search_this。 “%'”); $ query_string->执行();