如果您在 PHP 中执行 SQL 查询: `SELECT DATABASE()`,那么您可以像处理任何查询结果集一样处理此查询结果集,并使用 `fetch_array` 或者 `fetch_assoc` 来获取其结果。
但是,如果您在 MySQL 客户端中执行此查询,您可能无法获取查询结果。这是因为 `SELECT DATABASE()` 返回的结果并不包括在 MySQL 客户端的查询结果集中。相反,它只是返回当前所选数据库的名称。如果您在 MySQL 中使用 `SELECT DATABASE()`,则必须使用 MySQL 的 `mysql` 命令行工具或图形化的 MySQL 客户端来查看此查询的结果。
在 PHP 中获取当前所选数据库的名称,您可以使用 `mysqli` 或者 `PDO` 扩展。以下是使用 `mysqli` 扩展获取当前所选数据库名称的示例代码:
// 创建一个 mysqli 连接
$conn = mysqli_connect("localhost", "username", "password", "database");
// 检查连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// 执行查询获取当前数据库名称
$result = mysqli_query($conn, "SELECT DATABASE()");
$row = mysqli_fetch_array($result, MYSQLI_NUM);
$database_name = $row[0];
// 打印数据库名称
echo "Current database is: " . $database_name;
// 关闭连接
mysqli_close($conn);
在上述示例中,我们使用 `mysqli_fetch_array` 将结果集中的下一行数据抓取为数字索引的数组。因为 `SELECT DATABASE()` 只返回一列结果,所以我们直接使用索引 `0` 来获取结果。最后,我们打印出数据库名称并关闭连接。