为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 PDO 在 localhost 中获取数据库数组

如何使用 PDO 在 localhost 中获取数据库数组

PHP
慕斯王 2022-10-22 15:40:42
尝试使用 PDO 在 localhost 中获取数据库数组$user = 'root';$server = 'localhost';$db = new PDO("mysql:host=$server", $user);$sql = "show databases";$st = $db->prepare($sql);$st->execute();$arr = $st->fetchAll(PDO::FETCH_ASSOC);foreach($arr as $el){    echo $el . '<br>'; // error - array to string conversion}也试过: $arr = $st->fetch(PDO::FETCH_ASSOC);结果 - 仅回显第一个数据库有什么帮助吗?
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

从信息架构中获取信息,例如:


SELECT `SCHEMA_NAME` FROM `information_schema`.`SCHEMATA`;

还有更多关于数据库(模式)的信息


样本


MariaDB [(none)]> SELECT `SCHEMA_NAME` FROM `information_schema`.`SCHEMATA`;

+--------------------+

| SCHEMA_NAME        |

+--------------------+

| bernd              |

| information_schema |

| mysql              |

| performance_schema |

+--------------------+

4 rows in set (0.00 sec)


MariaDB [(none)]>


查看完整回答
反对 回复 2022-10-22
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

只需遍历结果并打印它:


while ($arr = $stmt->fetch(PDO::FETCH_ASSOC)){

    print_r($arr);

}

结果是您的本地主机中的数据库名称。例如:


Array

(

    [Database] => mysql

)

Array

(

    [Database] => performance_schema

)

Array

(

    [Database] => phpmyadmin

)

编辑:


$databases = [];

while ($arr = $stmt->fetch(PDO::FETCH_ASSOC)){

    $databases[] = $arr["Database"];

}


查看完整回答
反对 回复 2022-10-22
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信