0

我试图在mysql 数据库中插入一个字符串“你最喜欢的叔叔的名字是什么,并收到错误消息:

提交您的请求时出错您的 SQL 语法有误;检查与您的 MySQL 服务器版本相对应的手册,以在“您最喜欢的 UNCLE 的名字?”附近使用正确的语法,mobile_no = '+4479094484999',第 4 行的国家/地区“*

我的代码是:

 $sec_ques2 = mysql_real_escape_string($sec_ques);
 $insert = "INSERT INTO customers SET 
 acc_status = 'Inactive',
 acc_type = '{$acc_type}',
 sec_question = '{$sec_ques2}',
 mobile_no = '{$m_number}',
 country =    '{$country}',
 passkey = '{$passkey}',
 sec_ans= '{$answer}',
 home_address= '{$h_address}',
 gender = '{$gender}',
 first_name = '{$f_name}',
 last_name= '{$l_name}',
 emp_status = '{$emp_status}',
 marital_status = '{$m_status}',
 email_address = '{$email}'";
4

1 回答 1

3

好吧,问题可能是您在 INSERT 查询中使用了 UPDATE(基本上应该可以工作)语法。

另外,mysql_real_escape_string() 函数的输出仍然是一个字符串,所以它仍然应该用两个单引号括起来。

你为什么不尝试这样的事情:

$sec_ques = mysql_real_escape_string($sec_ques);
$insert = "INSERT INTO accounts(field1, filed2, field3) 
VALUES('{$status}', '{$acc_type}', '{$sec_ques}')";

如果这也不起作用,也许您应该迁移到使用PDO,更加安全和舒适。

于 2013-09-15T12:14:51.703 回答