1

有没有办法检查正在调用哪种类型的 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;
    }
4

2 回答 2

3

您可以使用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';
    }

}

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

于 2013-09-03T22:18:45.587 回答
-1

检查哪种类型的 mysql 连接被称为 mysql 或 mysqli 绝对没有意义。
在更改“所有编码”时,您必须使用某种db access library,这显然将使用新驱动程序,因为它是底层级别。由于这个库显然必须使用新的 api 编写,因此不需要验证。

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

于 2013-09-04T05:16:11.270 回答