在php代码第1行和第2行之后,我收到了通知和错误消息。
注意:未定义的变量:dbc in ...
中给出null
警告: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;
}
}
答案 0 :(得分:2)
您没有在任何地方分配connectdb()方法的返回值。你想要:
$connection = connectdb();
echo mysqli_get_host_info($connection);
为了清楚起见,我使用了一个不同的变量名作为你在函数中使用的变量名,因为它们是不同的变量,因为它们是在不同的范围内定义的。
答案 1 :(得分:1)
请注意,您正在从函数返回$dbc
,但是您没有在第1行中分配connectdb()
函数的返回值。编译器将如何知道您保存了返回值$dbc
?
$dbc = connectdb();
这将解决您的错误。