有没有办法检查调用哪种类型的mysql连接mysql
或mysqli
。我想要做的是有一个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;
}
答案 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调用是没有意义的。