我修改了我的代码,无论什么
,这个错误似乎都没有
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('feedback', $con);
isset($_REQUEST['submit']);
$sql="INSERT INTO feedback ( 1Staff, 1subject, 1Rate1, 1Rate2, 1Rate3, 1Rate4, 1Rate5, 2Staff, 2subject, 2Rate1, 2Rate2, 2Rate3, 2Rate4, 2Rate5, 3Staff, 3subject, 3Rate1, 3Rate2, 3Rate3, 3Rate4, 3Rate5, 4Staff, 4subject, 4Rate1, 4Rate2, 4Rate3, 4Rate4, 4Rate5, 5Staff, 5subject, 5Rate1, 5Rate2, 5Rate3, 5Rate4, 5Rate5)
VALUES
('$_POST[1staff]','$_POST[1subject]','$_POST[1Rate1]','$_POST[1Rate2]','$_POST[1Rate3]','$_POST[1Rate4]','$_POST[1Rate5]','$_POST[2staff]','$_POST[2subject]','$_POST[2Rate1]','$_POST[2Rate2]','$_POST[2Rate3]','$_POST[2Rate4]','$_POST[2Rate5]','$_POST[3staff]','$_POST[3subject]','$_POST[3Rate1]','$_POST[3Rate2]','$_POST[3Rate3]','$_POST[3Rate4]','$_POST[3Rate5]','$_POST[4staff]','$_POST[4subject]','$_POST[4Rate1]','$_POST[4Rate2]','$_POST[4Rate3]','$_POST[4Rate4]','$_POST[4Rate5]','$_POST[5staff]','$_POST[5subject]','$_POST[5Rate1]','$_POST[5Rate2]','$_POST[5Rate3]','$_POST[5Rate4]','$_POST[5Rate5]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo $values;
mysql_close($con);
?>
<meta http-equiv="refresh" content="0;URL=thankyou.html" />
</body>
</html>
('$ _ POST [1staff]','$ _ POST [1subject]'....在第17行 我尝试了一切,这让我开玩笑了
答案 0 :(得分:1)
您的代码需要正确转义...
你曾经使用过它......
'$_POST[1Rate5]','$_POST[2staff]','$_POST[2subject]',
你已经像这样修改了它们。
".$_POST['1Rate5'].",".$_POST['2staff'].",".$_POST['2subject'].",
^-- Add a double quote ^-- Add a single quote around ^-- Make use of concatenate operator
您必须为所有其他变量执行此操作....
除了这些问题之外......(mysql_*
)扩展程序自PHP 5.5.0起已弃用,将来也会被删除。相反,应使用MySQLi
或PDO_MySQL
扩展名。切换到PreparedStatements
甚至可以更好地抵御SQL注入攻击!
答案 1 :(得分:1)
如果“1staff”和“1subject”是键(例如,值为$ _POST ['1staff']),则可以连接$ _POST变量。
"...('". $_POST['1staff'] ."..."
同样对于其余的字符串。
答案 2 :(得分:0)
你可以使用('{$ _POST [“1stuff”]}','{$ _ POST [“1stuff”]}',)