为什么不会使这个MySQL命令工作

时间:2016-03-31 02:47:58

标签: php 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。如果您需要更多信息,我将编辑此问题。

1 个答案:

答案 0 :(得分:-1)

您需要转义值中的单引号(在每次 POST [之后)。

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);
相关问题