mysql真正的转义字符串错误

时间:2010-12-26 22:41:42

标签: mysql

代码:

mysql_query("INSERT INTO Account(User,
Pw, email)
VALUES('mysql_real_escape_string($_POST[user])',
'$pw','mysql_real_escape_string($_POST[email])
) ")  or die(mysql_error());

错误:

  

您的SQL语法有错误;   检查对应的手册   您的MySQL服务器版本   正确的语法使用附近   ''mysql_real_escape_string(123))'在   第1行

请帮忙

2 个答案:

答案 0 :(得分:3)

问题是你引用了一个PHP命令,所以它永远不会传递给PHP

试试这个

mysql_query("INSERT INTO Account(User, Pw, email) VALUES('".mysql_real_escape_string($_POST[user])."', '$pw','".mysql_real_escape_string($_POST[email])."' ) ") or die(mysql_error());

但是如果用户不是定义的常量,你的$ _POST [user]调用也可能失败,所以也许试试这个

mysql_query("INSERT INTO Account(User, Pw, email) VALUES('".mysql_real_escape_string($_POST['user'])."', '$pw','".mysql_real_escape_string($_POST['email'])."' ) ") or die(mysql_error());

答案 1 :(得分:0)

请勿将所有代码填入一行 您无需为每个额外的运营商付费。写清楚。

$user  = mysql_real_escape_string($_POST['user']);
$email = mysql_real_escape_string($_POST['email']);
$pw    = mysql_real_escape_string($pw);

$query = "INSERT INTO Account(User,Pw, email) VALUES ('$user','$pw','$email')";
mysql_query($query) or trigger_error(mysql_error().$query);