MySQL 如何编写PHP脚本以获取MySQL数据库列表?
在使用PHP和MySQL进行web开发时,获取MySQL数据库列表是一个很常见的需求。本文将介绍如何使用PHP脚本来获取MySQL数据库列表,并提供相应的示例代码。
阅读更多:MySQL 教程
使用mysqli扩展连接到MySQL
PHP提供了多种连接MySQL的扩展,我们这里选择使用mysqli扩展。
$mysqli = new mysqli('localhost', 'username', 'password');
连接成功后,我们可以使用mysqli_query()
函数来执行SQL语句。接下来我们需要获取MySQL数据库列表信息,我们可以使用以下SQL语句:
SHOW DATABASES;
执行该SQL语句,可以获取所有的数据库列表。代码示例:
$mysqli = new mysqli('localhost', 'username', 'password');
$sql = 'SHOW DATABASES;';
$result = $mysqli->query($sql);
while ($row = $result->fetch_array()) {
echo $row[0] . '<br>';
}
上述示例代码中,首先使用mysqli
扩展连接到MySQL服务器,然后使用mysqli_query()
函数执行SQL语句。获取到结果集后,可以使用fetch_array()
函数按行遍历结果,打印出每个数据库的名称。
使用PDO扩展连接到MySQL
除了mysqli扩展,PDO也是常用的连接MySQL的扩展。
$dsn = 'mysql:host=localhost;';
$user = 'username';
$password = 'password';
$pdo = new PDO($dsn, $user, $password);
连接成功后,我们可以使用query()
函数执行SQL语句。使用以下SQL语句同样可以获取MySQL数据库列表信息:
SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT IN ('information_schema', 'mysql', 'performance_schema');
我们将其封装在一个函数中,方便后续调用。
function getMySQLDatabases(pdo) {stmt = pdo->query('SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT IN ("information_schema", "mysql", "performance_schema");');
returnstmt->fetchAll(PDO::FETCH_COLUMN);
}
示例代码:
$dsn = 'mysql:host=localhost;';
$user = 'username';
$password = 'password';
$pdo = new PDO($dsn, $user, $password);
$databases = getMySQLDatabases($pdo);
foreach ($databases as $database) {
echo $database . '<br>';
}
结论
本文介绍了如何使用PHP脚本来获取MySQL数据库列表。我们选择使用mysqli和PDO两种常用的扩展来连接MySQL,获取数据库列表信息。具体实现可以参考上述示例代码。