我有问题。我有这些表:
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)
我有两个变量:
包含用户ID的 $_SESSION['id_user']
(表格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
为什么呢?感谢
答案 0 :(得分:1)
如果您尝试在字符串中解析变量,则需要使用正确的语法。对于数组元素,这意味着没有像通常那样围绕键使用单引号:
$query = "INSERT INTO operazioni ('Utente','Treno') VALUES ('$_SESSION[id_user]','$id_treno')";
the manual page on strings中记录了这一点。
也可能存在SQL错误,但PHP错误的原因是字符串语法不正确。
答案 1 :(得分:0)
您的查询中有多个错误。 mysql中的字段名称可以放在反引号中,而不是单引号中。此外,变量必须被转义;推荐的方法是使用PDO / Mysqli并绑定参数
答案 2 :(得分:0)
试试这个: -
$query = "INSERT INTO operazioni (Utente,Treno) VALUES ('".$_SESSION['id_user']."','".$id_treno."')";
答案 3 :(得分:0)
$query = 'INSERT INTO operazioni ("Utente","Treno") VALUES ("'.$_SESSION['id_user'].'","'.$id_treno.'")';
答案 4 :(得分:0)
Utente和Treno是完成的。你不需要'和他们一起
答案 5 :(得分:0)
$query = "INSERT INTO operazioni ('Utente','Treno') VALUES ('".$_SESSION['id_user']."','$id_treno')";
连接中的问题。
答案 6 :(得分:0)
也许您在页面中使用之前没有开始会话? 另外你可以随时var_dump你的sql命令并直接尝试进入phpMyAdmins查询部分,看看到底出了什么问题,然后尝试修复它。 欢呼声