无法将数据插入mysql数据库

gblwokeq  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(541)

我使用的是aws ec2
我的安全组入站规则是:

mysql用户表是:

mysql> select user,host from mysql.user;

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

我可以访问数据库使用选择,并能够打印在php网页。
问题是插入查询。
代码为:

$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';
}

需要建议!!!

qc6wkl3g

qc6wkl3g1#

您需要检查在执行该语句时出现的错误。让我们看看问题和可能的问题:

权利

您需要确保尝试执行查询的mysql用户具有执行查询所需的权限。尝试硬编码 insert 语句以及所有参数。你能做到吗?或者你得到一个错误,你没有这样做的权利?

贬损

mysql函数已弃用。您需要使用mysqli函数或pdo。

sql注入

由于sql注入的可能性,您的代码具有很高的安全风险。您需要通过mysqli\u real\u escape\u string转义查询,或者通过pdo参数化查询。如果你不这样做,用户将能够破坏你的数据库,如果他们想入侵你的网站,甚至窃取数据。

xss注入

由于xss注入的可能性,您的代码具有很高的安全风险。您需要确保没有脚本被注入到您的字段中,除非您明确地允许这样做。xss注入是从其他用户窃取数据的一种可能方法。

是留言还是留言

检查你的手机里有什么 $_POST["messages"] . 是数组吗?如果是这样,您尝试将数组用作字符串,因此会得到一个异常。

检查日志

您将需要检查服务器日志以找到您面临的确切问题。如果没有启用服务器日志记录,那么需要启用它并再次运行php代码。

相关问题