1
mysql_query("
    INSERT INTO trades (id, cpair, oprice, cprice, bos, ooc, dateandtime) 
    VALUES (null, $currency, $openingprice, $closingprice, $buysell, 
    $openorclosed, $datetime"
);

このようなエラーが発生しているこのコードの何が問題になっていますか?

エラー:

SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

3 に答える 3

1

You cannot insert a NULL for the id, this is probably a required field.

If it is auto-incrementing, just ignore it and it will automatically fill itself in.

于 2012-10-12T21:01:37.957 に答える
0

Any strings need to be quoted in the MySQL command string, and you might need to invoke functions for converting the datetime from a string.

于 2012-10-12T21:01:55.187 に答える
0

わお!1 つは、文字列を文字列のように扱っていないことです。そのクエリに何かをエコーアウトしているだけです。悪い考えです。ご覧のとおり、うまくいきません。

少なくとも VALUES() ステートメントの文字列である各 var を一重引用符で囲む必要があります。

mysql_query("
    INSERT INTO trades (id, cpair, oprice, cprice, bos, ooc, dateandtime) 
    VALUES (null, $currency, $openingprice, $closingprice, $buysell, 
    $openorclosed, '$datetime'"
);

次のステップは、 PDOに切り替えて入力をサニタイズすることです。

于 2012-10-12T21:02:52.247 に答える