php mysqli_connect奇怪的回应

时间:2013-11-19 11:45:44

标签: php mysqli

我正在尝试创建一个非常简单的创建帐户页面。这是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:我仔细检查数据库是否存在以及用户和权限以及密码

1 个答案:

答案 0 :(得分:1)

mysqli_connect按此顺序接受“host”,“username”,“password”和“dbname”的参数,这是您提供详细信息的顺序吗?它似乎不是这样。

http://us2.php.net/manual/en/mysqli.construct.php