-1

私は問題があります。私はこれらのテーブルを持っています:

ウテンティ、トレニ、オペラツィオーニ

Utenti次の 1 つのフィールドがあります。

ID (INT - AUTO_INCREMENT)

Treni次の 1 つのフィールドがあります。

ID that is an int (AUTO_INCREMENT)

Operazioni次の 3 つのフィールドがあります。

ID (int AUTO_INCREMENT)
Utente (int)
Treno (int)

私は2つの変数を持っています:

$_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')";

これについては、strings のマニュアル ページに記載されています

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 は int です。' は必要ありません。

于 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 に答える