2010-07-30 64 views
1

我尝试做以下准备的语句:mysqli的与运营商

$search_query = "SELECT spec, title, quantity, location_to, location_from 
          FROM sm12761.assignments WHERE title = ? LIMIT 0,1 "; 

但它更改为标题LIKE“&东西%”

我会怎么做呢?

如果有人能向我展示一个很好的重构版本的查询。

回答

2

追加%您输入的字符串调用mysqli_stmt_bind_param()

+2

但是,这不会改变一个'='LIKE' ... – ircmaxell 2010-07-30 13:00:19

+0

你不能这样做,而不改变查询。 – 2010-07-30 13:06:29

0

预处理语句上MySQL的一侧被预编译的时候,所以你需要更改查询结构,能够使用等。

$search_query = "SELECT spec, title, quantity, location_to, location_from 
         FROM sm12761.assignments WHERE title LIKE ? LIMIT 0,1 "; 
+0

我如何添加%,尽管如此找到通配符 – 2010-07-30 13:31:26

+0

就像上面说的Dennis Haarbrink所说的,在将它绑定到参数之前,您需要将它添加到搜索字符串中。 – Mchl 2010-07-30 13:55:18

+0

对不起刚才意识到他在说什么。 – 2010-07-30 14:11:40