使用PHP和MySQL INSERT INTO时出错

时间:2013-06-22 17:52:22

标签: php mysql

我有问题。我有这些表:

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

为什么呢?感谢

7 个答案:

答案 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查询部分,看看到底出了什么问题,然后尝试修复它。 欢呼声