古老的 mysql
扩展有一个 mysql_db_name
函数来检索指定数据库资源的数据库名称,但是通过 php.net 我没有找到等效的。我有时使用两个数据库,我需要错误报告来返回正确的数据库名称,当我遇到错误时,连接正在使用该名称。
使用现代 mysqli
扩展后,我如何确定(例如错误处理)数据库连接对象当前连接到的数据库名称?
上下文是一个自定义的数据库错误处理函数,数据库连接被简单地引用为 $db
。
$db = mysqli_connect($host1,$user1,$pass1,'db1');
答案 0 :(得分:2)
DATABASE()
MySQL 函数返回当前数据库。所以你可以通过查询获得它:
$results = $db->query("SELECT DATABASE() AS db");
$row = $results->fetch_assoc();
$curdb = $row['db'];