-3

行への挿入でエラーが発生しました。これはこの不良少年に関するものです。

mysql_query("INSERT INTO accounts('username', 'password', 'firstname', 'lastname', 'email') 
VALUES($username, $password, $firstname, $lastname, $email)") 
or die("Could not create account! <br/>" . mysql_error());

提供されたエラーは次のとおりです。

アカウントを作成できませんでした。
SQL 構文にエラーがあります。''username', 'password', 'firstname', 'lastname', 'email') VALUES(test, test,' at line 1 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

変数が正しく呼び出されていないことに関係があると思いますか?

4

4 に答える 4

0

mysql_query は推奨されません。まもなく非推奨になります。おそらく、代わりに PDO または mysqli を使用するのが最善です。 http://php.net/manual/en/function.mysql-query.php

しかし、あなたの質問に答えるには、列名が(バッククォートではなく)一重引用符で囲まれているためだと思います。

一重引用符で囲む必要があるのはあなたの値です。SQL インジェクションを防ぐために、これらの変数に対しても mysql_real_escape_string を実行することをお勧めします。または、代わりに PDO 準備済みステートメントを使用してください。 http://php.net/manual/en/pdo.prepared-statements.php

于 2013-04-15T16:32:14.123 に答える