PHP嵌套引号

时间:2010-12-01 20:07:03

标签: php quotes double-quotes

以下失败:

$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '$_SESSION['userID']'");

我尝试了以下内容:

$userID = $_SESSION['userID'];
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '$userID'");

它有效。有没有办法在不制作单独变量的情况下做到这一点?

谢谢!

4 个答案:

答案 0 :(得分:4)

或者像这样:

$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '{$_SESSION['userID']}'");

答案 1 :(得分:3)

$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '".$_SESSION['userID']."'");

$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '{$_SESSION['userID']}'");

值得注意的是它会推荐第一个,因为当你使用php编辑器时它更易于阅读/查找,这反过来又更容易调试

答案 2 :(得分:0)

你的第一个扼杀查询,因为你实际上是在命令userID '$_SESSION['userID']}'。不要提到,{{1}}的休息将被MySQL解释为语法错误。

答案 3 :(得分:-1)

是的,就像这样

$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '$_SESSION[userID]'");