php - 如何使用 PDO 在 localhost 中获取数据库数组
问题描述
尝试使用 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);
结果 - 仅回显第一个数据库
有什么帮助吗?
解决方案
只需遍历结果并打印它:
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"];
}
推荐阅读
- java - 如何在java中修复“java.lang.ArrayIndexOutOfBoundsException:1”
- javascript - 单击删除链接后不需要的页面更改
- html - 如何更改输入类型日期的日历图标?
- algorithm - 什么是期望值(数学)以及快速排序背后的原因是什么?
- android - 智能转换为“ListViewModel”是不可能的,因为“binding.listViewModel”是一个可变属性,此时可能已更改
- php - 如何在 silvestripe 4.4 中调整图像大小并创建缩略图
- android - 未指定 Kivy SDK 目录
- vb.net - 我在运行时在 VB.Net 2010 的 Microsoft ReportViewer 中将数据库表连接到报表时遇到问题
- qt - 为什么我在 QML 中更改 TabBar 中的 Tab 时,我的 SwipeView 页面没有改变?
- python - Gtk:如何检测 EventBox 上的鼠标位置?