Mysql用户表是:
mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
代码是:
$queryb = "INSERT INTO contact_us (name,contact,email,message)
VALUES ('$_POST[contact_person]',
'$_POST[mobile]',
'$_POST[email]',
'$_POST[messages]')";
if (mysql_query($queryb))
{
$success='Thank You ';
}
else
{
$error='Error Occured ! Try after sometime';
}
需要建议!!!
答案 0 :(得分:2)
您需要检查尝试执行该语句时出现的错误。让我们看看问题和可能出现的问题:
您需要确保尝试执行查询的MySQL用户具有这样做的必要权限。尝试对insert
语句以及所有参数进行硬编码。你能这样做吗?或者你得到一个你没有权利这样做的错误?
mysql_ 函数已弃用。您需要使用mysqli_ 函数或PDO。
由于SQL Injection的可能性,您的代码具有很高的安全风险。您需要通过mysqli_real_escape_string转义查询或通过PDO参数化您的查询。如果您不这样做,用户可能会破坏您的数据库,如果他们想破解您的网站,甚至窃取数据。
由于XSS injection的可能性,您的代码具有很高的安全风险。除非您明确要允许,否则您需要确保不会将任何脚本注入到您的字段中。 XSS注入是一种从其他用户窃取数据的可能方法。
检查$_POST["messages"]
内的内容。它是一个阵列吗?如果是这样,您尝试将数组用作字符串,因此会出现异常。
您需要检查服务器日志以找到您遇到的确切问题。如果未启用服务器日志记录,则需要启用它并再次运行PHP代码。