-1

我有个问题。我有这些表:

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

为什么?谢谢

4

7 回答 7

1

如果您尝试在字符串中解析变量,则需要使用正确的语法。对于数组元素,这意味着没有像往常那样在键周围加上单引号:

$query = "INSERT INTO operazioni ('Utente','Treno') VALUES ('$_SESSION[id_user]','$id_treno')";

在字符串的手册页中有记录。

也可能存在 SQL 错误,但 PHP 错误的原因是不正确的字符串语法。

于 2013-06-22T17:58:05.240 回答
0

您的查询中有多个错误。mysql 中的字段名称可以放在反引号中,而不是单引号。此外,变量必须被转义;推荐的方式是使用 PDO/Mysqli 和绑定参数

于 2013-06-22T17:55:41.267 回答
0

尝试这个 :-

$query = "INSERT INTO operazioni (Utente,Treno) VALUES ('".$_SESSION['id_user']."','".$id_treno."')";
于 2013-06-22T17:55:51.730 回答
0
$query = 'INSERT INTO operazioni ("Utente","Treno") VALUES ("'.$_SESSION['id_user'].'","'.$id_treno.'")';
于 2013-06-22T17:56:01.133 回答
0

Utente 和 Treno 是整数。你不需要 ' 和他们在一起

于 2013-06-22T17:56:03.260 回答
0
$query = "INSERT INTO operazioni ('Utente','Treno') VALUES ('".$_SESSION['id_user']."','$id_treno')";

连接中的问题。

于 2013-06-22T17:56:50.777 回答
0

也许您在页面中使用它之前还没有开始会话?另外,您始终可以 var_dump 您的 sql 命令并直接在 phpMyAdmins 查询部分尝试,看看到底出了什么问题,然后尝试修复它。干杯

于 2013-06-22T18:10:05.847 回答