PHP 获取数据库对象的数据库名称

PHP get database object's database name

古老的 mysql 扩展有一个 mysql_db_name 函数来检索指定数据库资源的数据库名称,但是通过 php.net 我没有找到等效的。我有时使用两个数据库,我需要错误报告 return 正确的 数据库名称 当我遇到错误时连接正在使用。

使用现代 mysqli 扩展我如何确定(例如错误处理)数据库连接对象当前连接到的数据库的名称?

上下文是一个自定义的数据库错误处理函数,数据库连接被简单地引用为$db

$db = mysqli_connect($host1,$user1,$pass1,'db1');

DATABASE()MySQL函数returns当前数据库。所以你可以通过查询得到它:

$results = $db->query("SELECT DATABASE() AS db");
$row = $results->fetch_assoc();
$curdb = $row['db'];