我正在尝试创建一个非常简单的创建帐户页面。这是MySQL数据库连接的一部分:
<?php
function dbconnect()
{
$connection = mysqli_connect("localhost","maistral_quizonline","maistral_kalkas","abcdefghi");
if (mysqli_connect_errno($connection))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
return 0;
}
return $connection;
}?>
当我尝试运行dbconnect时,这是我得到的输出:
“无法连接到MySQL:访问被拒绝用户'maistral_quizonl'@'localhost'(使用密码:是)访问被拒绝用户'maistral'@'localhost'(使用密码:否)”
现在,我是php的新手,也许我做了一些非常愚蠢的事情,有人能解释一下这个输出吗?为什么它似乎尝试连接两次以及为什么连接信息被破坏?这是什么:maistral_quizonl? maistral?为什么要削减这些话?为什么第一次说我使用密码而第二次说不?我希望我的错误不是那么愚蠢。
还有一件事。我在另一篇文章中看到有人建议检查mysqli_connect函数是否存在,所以我改变了这个:
echo "Failed to connect to MySQL: " . mysqli_connect_error();
到此:
echo "Failed to connect to MySQL: " . mysqli_connect_error() . var_dump(function_exists('mysqli_connect'));
输出是这样的:
“bool(true)无法连接到MySQL:访问被拒绝用户'maistral_quizonl'@'localhost'(使用密码:是)访问被拒绝用户'maistral'@'localhost'(使用密码:否)”< / p>
洛尔? 我知道在使用它之后检查mysqli_connect是否存在是没有意义的但是我错了或者不是“bool(true)”假设在行和行打印而不是打开?
发生了什么事?
谢谢
PS:我仔细检查数据库是否存在以及用户和权限以及密码
答案 0 :(得分:1)
mysqli_connect按此顺序接受“host”,“username”,“password”和“dbname”的参数,这是您提供详细信息的顺序吗?它似乎不是这样。