检查数据库是否已经存在

Check if database already exists

我希望仅当数据库不存在时才创建数据库。现在数据库已经存在,什么也没有发生,但无论如何都会显示以下消息:数据库已成功创建。 我希望此消息仅在创建数据库时显示,而不是在数据库已存在时显示。如何检查数据库是否存在? 这是我的代码。

<?php
 
    $mysql = @mysqli_connect("localhost", "test", "test"); 

    if(!($mysql)) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
        exit();
      }

    $myDB = "CREATE DATABASE IF NOT EXISTS myDB";

    if ((mysqli_query($mysql, $myDB))) {
        echo "Database created successfully";
      } else {
        echo "Error creating database: " . mysqli_error($mysql);
      }


      mysqli_close($mysql); 
    ?>

当您尝试在 MySQL 中使用 IF NOT EXISTS 创建数据库时,也会返回警告。

然后我建议检查最终返回的警告,如下所示:

$myDB = "CREATE DATABASE IF NOT EXISTS myDB";

if ((mysqli_query($mysql, $myDB))) {
       if (mysqli_warning_count($mysql) == 0) { 
            echo "Database created successfully";
       }
} else {
       echo "Error creating database: " . mysqli_error($mysql);
}