ウェブサイトから古いMySQLコマンドを使用する際に問題があります。なぜこのMySQLコマンドの仕事はありません
INSERT INTO
users(user_name, user_pass, user_email ,user_date, user_level)
VALUES('" . mysql_real_escape_string($_POST['user_name']) . "',
'" . sha1($_POST['user_pass']) . "',
'" . mysql_real_escape_string($_POST['user_email']) . "',
NOW(),
0);
このエラーが返されます。
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user_name']) . "',
'" . sha1($_POST['user_pass']) . "',
'" . mys' at line 3
ウェブサイトの記事は2010年5月からのものでしたので、それが機能しない理由が考えられます。ここにウェブサイト:http://code.tutsplus.com/tutorials/how-to-create-a-phpmysql-powered-forum-from-scratch--net-10188があります。これ以上の情報が必要な場合は、この質問を編集します。
このチュートリアルのSQLでは何も問題はありません。実際のコードを正確に投稿する必要があります。このチュートリアルでは、PHPで変数を作成しています。もしあなたがdbに '$ _POST'変数を見たことがない著者と同じものを書いたのであれば、それらの値はクエリに連結されます。 – billynoah
**警告**:独自のアクセスコントロールレイヤーを作成するのは簡単ではなく、間違った操作をする機会がたくさんあります。 [Laravel](http://laravel.com/)のような最新の[開発フレームワーク](http://codegeekz.com/best-php-frameworks-for-developers/)がある場合は、独自の認証システムを作成しないでください。強力な[認証システム](https://laravel.com/docs/5.2/authentication)が組み込まれています。絶対に[推奨されるセキュリティのベストプラクティス](http://www.phptherightway.com/#security)に従ってください。SHA1だけを適用してパスワードを保存しないでください。 – tadman
**警告**:PHPを習得しているだけの方は、古い['mysql_query'](http://php.net/manual/en/function.mysql-query.php)インタフェースを学ばないでください。それはひどいので、PHP 7では削除されました。[PDOは学ぶのが難しくありません](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- for database-access /)、[PHP The Right Way](http://www.phptherightway.com/)のようなガイドはベストプラクティスの説明に役立ちます。準備されたステートメントを使用しない限り、巨大なSQLインジェクションホールから間違いがあります。 – tadman