是否可以在mysql的$_SESSION[var]
和INSERT
语句中使用SELECT
,如下所示
$query = "INSERT INTO table1 (id, var1, var2)
VALUES (NULL, '$_SESSION[var1]', '$_SESSION[var2]')";
mysql_query($query);
die(mysql_error());
注意:我所有页面的开头都有session_start();
。
答案 0 :(得分:2)
在对sanitize your vars执行查询之前,PDO好主意:
$var1 = mysql_real_escape_string($_SESSION['var1']);
$var2 = mysql_real_escape_string($_SESSION['var2']);
$query =
"INSERT INTO table1 (id, var1, var2) " .
"VALUES (NULL, '" . $var1 . "', '" . $var2 . "')";
mysql_query($query) or die(mysql_error());
请注意,无论是否发生错误,您上一次代码行die(mysql_error())
都会导致脚本停止执行。
此外,您可能需要查看{{3}}以进行数据库交互。
答案 1 :(得分:1)
是。在我看来,在插值字符串中指定数组变量的最佳方法是在其周围放置大括号,以便您可以在数组键周围使用单引号:
$query = "INSERT INTO table1 (id, var1, var2)
VALUES (NULL, '{$_SESSION['var1']}', {$_SESSION['var2']}')";