早上好.
我想知道在PHP中是否有办法通过使用mysqli列出所有可用的数据库.以下在mysql中顺利工作(参见php docs):
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);
while ($row = mysql_fetch_object($db_list)) {
echo $row->Database . "\n";
}
Run Code Online (Sandbox Code Playgroud)
我可以改变:
$db_list = mysql_list_dbs($link); // mysql
Run Code Online (Sandbox Code Playgroud)
变成这样的东西:
$db_list = mysqli_list_dbs($link); // mysqli
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,是否可以将创建的mysqli连接转换为常规mysql并继续获取/查询新转换的连接?
小智 6
我意识到这是一个老线程,但搜索'网仍然似乎没有帮助.这是我的解决方案;
$sql="SHOW DATABASES";
$link = mysqli_connect($dbhost,$dbuser,$dbpass) or die ('Error connecting to mysql: ' . mysqli_error($link).'\r\n');
if (!($result=mysqli_query($link,$sql))) {
printf("Error: %s\n", mysqli_error($link));
}
while( $row = mysqli_fetch_row( $result ) ){
if (($row[0]!="information_schema") && ($row[0]!="mysql")) {
echo $row[0]."\r\n";
}
}
Run Code Online (Sandbox Code Playgroud)