2009-08-18 61 views
1

快速提问:如何在一个类似的子句中包含一个变量mysqli_escape_string?Mysql Like Syntax

"SELECT * FROM table WHERE name LIKE '%". %s . "%'"  

"SELECT * FROM table WHERE name like '%"."%s"."%'" 

不起作用。

谢谢!

+1

或者,如果你想避免处理完全逃避,你应该使用参数:SELECT * FROM表WHERE名称LIKE? ,其中第一个参数具有值“%$ search%”等。 – 2009-08-18 17:22:21

回答

5
$value = mysql_real_escape_string($_POST["terms"]); 
$query = "SELECT * FROM table WHERE name LIKE '%".$value."%'"; 

或者你可以用的sprintf这样达致这:

$query = sprintf("SELECT * FROM table WHERE name LIKE '%s'", "%".$value."%"); 
+0

嗯让我检查一下真正的快速 - 我已经习惯了sprintf(“SELECT”,mysqli_escape_string($ link,$ var)) – Dirk 2009-08-18 17:23:11

+0

我修复了它的工作方法,但无法使它工作sprintf – Dirk 2009-08-18 17:28:22

+0

@Michael - 尝试更新后的sprintf示例。 – Sampson 2009-08-18 17:40:56