PHP函数内定义全局变量但还是报错变量未被定义!

ERROR INFO:
Notice: Undefined variable: _conn in C:\wamp\www\guest\includes\mysql.func.php on line 32
/********************************代码部分***************************************/
define('DB_USER','root');
define('DB_PWD','');
define('DB_HOST','localhost');
define('DB_NAME','testguest');

function _connection()
{
    global $_conn;//声明句柄为全局变量。
    $_conn = new mysqli(DB_HOST, DB_USER, DB_PWD);
//$_conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME) or die("Connect Failed!");
    if (mysqli_connect_errno()) {
        echo "链接失败,返回错误为" . mysqli_connect_error();
        exit;
    }
    
     mysqli_set_charset($_conn, 'utf8');#<-就是这个位置调用了上面的一个全局变量。
}

function _select_db(){
    if(mysqli_select_db($_conn,DB_NAME)){
        exit('找不到指定数据库');
    };
}

#call function

_connection();
_select_db();


那条时光流转的小巷
浏览 1985回答 1
1回答

diwu

global 不是声明在函数外的变量也能在函数内使用吗? 用在函数里的话应该是public吧。public $_conn = new mysqli(DB_HOST, DB_USER, DB_PWD);而且你不觉得另一个函数怎么调用的了吗?如果不声明这个变量是公有的
打开App,查看更多内容
随时随地看视频慕课网APP