0

在 php 代码第 1 行和第 2 行之后,我收到了通知和错误消息。

注意:未定义变量:dbc in ...
警告:mysqli_get_host_info() 期望参数 1 为 mysqli,在 ...

connectdb();
echo mysqli_get_host_info($dbc);

你能帮我解决我的通知和警告吗?

如何使 $dbc 也为外部函数定义?我目前正在处理错误级别-1。请不要告诉不要显示通知作为解决方案。不幸的是,我无法理解自定义函数变量通过问题。谢谢。

function connectdb() 
{
    $dbc = mysqli_connect (db_host, db_user, db_password, db_name);
    if (!$dbc) 
        {
            $txt = mysqli_connect_errno().mysqli_connect_error();
            db_connect_error_mail($txt);
            unset ($txt);
            die('error message.');
        } 
    else 
        {
            return $dbc;
        }
}

4

2 回答 2

2

您没有在任何地方分配 connectdb() 方法的返回值。你要:

$connection = connectdb();
echo mysqli_get_host_info($connection);

为清楚起见,我使用了与您在函数中使用的变量名称不同的变量名称,因为它们是不同的变量,因为它们是在不同的范围内定义的。

于 2013-02-02T16:34:39.563 回答
1

想一想,你$dbc从函数中返回 ,但你没有connectdb()在第 1 行分配函数的返回值。编译器如何知道你将返回值保存在 中$dbc

$dbc = connectdb();

这将解决您的错误。

于 2013-02-02T16:35:01.340 回答