我试图将一个字符串“你最喜欢的叔叔的名字插入一个mysql数据库并收到错误消息:
提交请求时出错您的SQL语法错误;查看与您的MySQL服务器版本相对应的手册,以便在“您最喜欢的名字”附近使用正确的语法?,mobile_no ='+ 4479094484999',country'在第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}'";
答案 0 :(得分:2)
好吧,问题可能是你在INSERT查询中使用UPDATE(基本上应该工作)语法。
另外,mysql_real_escape_string()函数的输出仍然是一个字符串,所以它仍然应该被2个单引号包围。
为什么你不尝试这样的事情:
$sec_ques = mysql_real_escape_string($sec_ques);
$insert = "INSERT INTO accounts(field1, filed2, field3)
VALUES('{$status}', '{$acc_type}', '{$sec_ques}')";
如果这也不起作用,也许您应该迁移到使用PDO,更加安全和舒适。