2010-06-21 51 views
0

我在我的PHP函数中有一个变量,它传递给SQL查询。我想知道如何将“和”两边追加而不将它变成一个字符串?将引号附加到变量

谢谢。

+1

SQL中字符串的分隔符是''',而不是'''。另请参见http://stackoverflow.com/questions/1555434 – Artefacto 2010-06-21 15:32:42

回答

3

如果可以的话,你应该真正考虑使用预准备语句。在PHP中,mysqliPDO库都支持它们。这使您可以在查询中创建占位符,然后将值绑定到它们,而无需操纵SQL文本本身。

通过这样做,您既可以避免在获取SQL格式化方面的麻烦,也可以保护自己免受意外的SQL注入漏洞,不再需要记住转义字符串。

2

要回答你的问题:

$name = "Peter"; 
$query = " SELECT * FROM table WHERE name LIKE '$name' "; 

以前所有的意见/回答您的问题是有效的,应予以考虑。 请务必记住,如果您希望避免与SQL注入相关的问题,那么预准备语句就很好。

+2

$ name =“Peter”; $ name_safe = mysql_real_escape_string($ name,$ db_conn); $ query =“SELECT * FROM table WHERE name LIKE'$ name_safe'”; – Pete 2010-06-21 16:18:00