如何在 PHP 中打印连接的数据库信息(例如数据库名称)?
Posted
技术标签:
【中文标题】如何在 PHP 中打印连接的数据库信息(例如数据库名称)?【英文标题】:How can I print the connected database information (such as db name) in PHP? 【发布时间】:2021-12-06 09:36:56 【问题描述】:我正在尝试在 php 中执行 SQL 查询,但即使已连接数据库,它也会返回 0 行,但是当我尝试在 MSSQL 中执行相同的查询时,它会返回一行。
我已经尝试过下面的方法,但它只返回布尔值 false:
$selecteddb = $dbi->query('select database()');
var_dump($selecteddb);
这是我执行查询的方式:
$user_sql = "SELECT * from users where username='myusername' AND password='pass123'";
$user_res = $dbi->prepare($user_sql);
$user_res->execute();
$user_data = $user_res->fetchAll();
$user_unum = count($user_data);
我只是想验证我是否真的连接到正确的数据库。
更新:
我需要一个等效的mysql_db_name
来打印数据库名称。这个已弃用,在 php 7 中不起作用。
【问题讨论】:
如果您得到布尔值false
,则表示查询以某种方式失败。在 PDO 中启用错误检查以找出原因。详情见php.net/manual/en/pdo.error-handling.php
但是为什么要问mysql这个呢?您的 PHP 代码肯定是告诉 mysql 在打开连接时选择哪个数据库的代码吗?那么你的 PHP 代码真的应该已经知道这些信息而不需要询问 mysql 服务器吗?
@ADyson 我只想真正能够打印连接数据库的名称和其他信息。这样我可以确保我实际上连接到正确的人。
但是就像我说的,当你创建 PDO 连接时,你会将该信息传递给 mysql,所以你不需要再次询问......你可以从连接中检索该信息详情。
如果您想在 SQL Server 中执行此操作,请使用 select db_name()
(根据 ***.com/questions/39734735/… 和其他 100 个)
【参考方案1】:
尝试“选择 db_name()”而不是“选择数据库()”
【讨论】:
以上是关于如何在 PHP 中打印连接的数据库信息(例如数据库名称)?的主要内容,如果未能解决你的问题,请参考以下文章