2011-05-05 76 views
1

内分析一个数组元素是否有逃逸的数组元素的更优雅的方式:我如何双引号

mysql_query("SELECT * from mytable WHERE name = '".$someArray['somename']."'"); 

更多的东西一样

mysql_query("SELECT * from mytable WHERE name = '$myname'"); 

所以避免了恼人的“‘’ “”

回答

5

您可以使用:

mysql_query("SELECT * from mytable WHERE name = '{$someArray['somename']}'"); 
+0

谢谢,我不知道。 – 2011-05-05 21:24:36

+0

@Teodor Talov不客气!顺便说一下,你可能希望在标题中将'Escape'改为'Parse',因为'escape'通常用于*转义特殊字符的意义,比如在'mysql_real_escape_string'中准备你的数据以供在mysql中使用。 – jeroen 2011-05-05 21:34:05

0
$myname = $someArray['somename']; 
mysql_query("SELECT * from mytable WHERE name = '$myname'"); 
+0

我忘了提及我试图避免声明另一个变量。我一直在寻找能够节省我和代码行的东西,但是谢谢。 – 2011-05-05 21:25:46

1

实际上,你可以这样做:

mysql_query("SELECT * from mytable WHERE name = '{$foo[bar]}'"); 

但我会建议反对或其它解析字符串,它比串联慢,是更难一些IDE来阅读。