【问题标题】:How can I print the connected database information (such as db name) in PHP?如何在 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()(根据 stackoverflow.com/questions/39734735/… 和其他 100 个)

标签: php sql sql-server pdo


【解决方案1】:

尝试“选择 db_name()”而不是“选择数据库()”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    相关资源
    最近更新 更多