检测是否正在调用mysql或mysqli进行连接

时间:2013-09-03 22:15:46

标签: php mysql mysqli

有没有办法检查调用哪种类型的mysql连接mysqlmysqli。我想要做的是有一个If语句调用mysql或mysqli连接,直到我可以更改我的所有编码。

这是我当前的连接文件。只会复制下面的内容,但是mysqli会完成我想要做的事情吗?

$dbc = mysql_connect ($db_server, $db_user, $db_pass);
mysql_select_db ($db_name) or die(mysql_error());

    $g_link = false;

    function GetDbConn()
    {
        global $g_link;
        if( $g_link )
            return $g_link;
        $g_link = mysql_connect( 'localhost', 'username', 'password') or die('Could not connect to server.' );
        mysql_select_db('social_db', $g_link) or die('Could not select database.');
        return $g_link;
    }

    function CleanUpDB()
    {
        global $g_link;
        if( $g_link != false )
            mysql_close($g_link);
        $g_link = false;
    }

2 个答案:

答案 0 :(得分:2)

您可以使用get_resource_type功能:

if(is_resource($g_link)  &&  get_resource_type($g_link)=='mysql link'){
   echo 'MYSQL';
}else{
    if(is_object($g_link)  && get_class($g_link)=='mysqli'){
        echo 'MYSQLI';
    }

}

此外,当您想要创建连接然后使用它时,最好保存连接类型。

答案 1 :(得分:-1)

检查哪种类型的mysql连接被称为mysql或mysqli是绝对没有意义的 在更改"所有编码"时,您必须使用某种 db访问库,这显然会使用新驱动程序作为它的基础级别。因为这个库显然必须使用新的api编写,所以不需要验证。

虽然只是重写旧api调用新的api调用是没有意义的。