有人可以帮我弄清楚为什么这段代码不起作用。
我已连接到DB。 这个片段在php标签内。
$result=mysql_query("INSERT INTO attendeeser (firstName, lastName, shirtSize, title, organization, emailAddress, q1, q2, q3, refId)
VALUES ('$_POST[firstName]', '$_POST[lastName]', '$_POST[shirtSize]', '$_POST[title]', '$_POST[organization]', '$_POST[emailAddress]', '$_POST[q1]', '$_POST[q2]', '$_POST[q3]', 'NULL')");
<小时/> 我想到了。我没有将q3作为表中的字段。
答案 0 :(得分:4)
是的,有人可能会输入引用或其他内容。不要插入这种方式,你对SQL注入攻击持开放态度。
至少使用PDO或mysql_real_escape_string()
。
答案 1 :(得分:3)
执行此
if(!mysql_query("INSERT INTO attendeeser (firstName, lastName, shirtSize, title, organization, emailAddress, q1, q2, q3, refId)
VALUES ('$_POST[firstName]', '$_POST[lastName]', '$_POST[shirtSize]', '$_POST[title]', '$_POST[organization]', '$_POST[emailAddress]', '$_POST[q1]', '$_POST[q2]', '$_POST[q3]', 'NULL')")){
echo mysql_error();
}
将显示mysql生成的错误。