【发布时间】:2013-06-22 17:52:22
【问题描述】:
我有问题。我有这些表:
Utenti、Treni 和 Operazioni
Utenti 有一个字段:
ID (INT - AUTO_INCREMENT)
Treni 有一个字段:
ID that is an int (AUTO_INCREMENT)
Operazioni 有三个字段:
ID (int AUTO_INCREMENT)
Utente (int)
Treno (int)
我有两个变量:
$_SESSION['id_user'] 包含用户 ID(表 Utenti)
$id_treno 包含火车的 ID(表 Treni)
当我执行时:
$query = "INSERT INTO operazioni ('Utente','Treno') VALUES ('$_SESSION['id_user']','$id_treno')";
我有这个错误:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
为什么?谢谢
【问题讨论】:
-
如果您要使用内联双引号解析,请删除
'。例如"...$_SESSION[id_user]..."。为了证明这一点,在交接前做一个echo $query看看有什么不同。 -
var_dump $_SESSION['id_user'] 和 $id_treno 在查询中使用它们并发布它们的值之前
-
我不得不说我很高兴您因为缺少转义数据而收到该错误。
'".mysql_real_escape_string({$_SESSION['id_user'])."' -
@amigura 没有理由认为
$_SESSION变量需要转义。它们不一定由用户提供。 (尽管参数化查询总是一个好主意。)