Php 警告:mysqli_query()要求参数1为给定的mysqli布尔值

Php 警告:mysqli_query()要求参数1为给定的mysqli布尔值,php,mysql,mysqli,Php,Mysql,Mysqli,在通过我的表单提交一些东西之后,我得到了欢迎部分,然后是mysql连接错误,因为mysql是关闭的,当我打开它时,它会消失,然后是布尔错误。警告:mysqli_query()要求参数1为mysqli,布尔值在第25行的C:\xampp\htdocs\welcome.php中给出 欢迎 您的电子邮件地址是: 您的密码是 您已经购买了 很可能,您在mysqli_connect中有连接错误。错误的凭据或MySQL已关闭 if (mysqli_connect_errno()) { echo "

在通过我的表单提交一些东西之后,我得到了欢迎部分,然后是mysql连接错误,因为mysql是关闭的,当我打开它时,它会消失,然后是布尔错误。警告:mysqli_query()要求参数1为mysqli,布尔值在第25行的C:\xampp\htdocs\welcome.php中给出


欢迎
您的电子邮件地址是:
您的密码是
您已经购买了
很可能,您在mysqli_connect中有连接错误。错误的凭据或MySQL已关闭

if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    //you need to exit the script, if there is an error
    exit();
}
以下是您的错误:

if (mysqli_connect_errno());
结尾不应该有分号

此外,根据文档,您应该使用此选项检查连接错误:

if (mysqli_connect_error())

但正如我在评论中所说,我建议使用PDO而不是mysqli。并确保正确转义插入数据库的值,并使用pbkdf2或scrypt加密密码。

不要使用mysqli。改用PDO。您的代码中存在会导致服务器被黑客攻击的bug,请查看SQL注入。基本上,您希望使用PDO的prepared statements功能在查询中嵌入$u POST。但是花些时间研究一下,你需要把它弄对,否则你会遇到严重的麻烦。它不打算成为一个公共页面总是调试
mysqli_查询($con),“插入用户(用户名、密码、电子邮件、Subcription)值(“$info_name”、“$info_pass”、“$info_Email”、“$sub_type”))或死亡(mysqli_错误($con))
不管它是否是公共的,它仍然是一种错误的方式,而且你的程序会有bug。@AbhiBeckert我想说mysqli是安全的,因为它支持预先准备好的语句,所以这是怎么回事?真的需要分号吗?我会抛出一个异常而不是打印错误。
if (mysqli_connect_errno());
if (mysqli_connect_error())