在 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; } }
你没有在任何地方分配connectdb()方法的返回值。 你想要:
$connection = connectdb();
echo mysqli_get_host_info($connection);
为了清楚起见,我使用了与您在函数中使用的变量名称不同的变量名称,因为它们是不同的变量,因为它们在不同的作用域中定义。
假设您正在从函数返回 $dbc
,但您没有在第 1 行中分配connectdb()
函数的返回值。编译器如何知道您将返回值保存在$dbc
中?
$dbc = connectdb();
这将修复您的错误。