如果不存在使用mysqli + php创建数据库

Amr*_*rit 4 php database mysqli

我正在尝试使用mysqli创建一个数据库,如果使用以下代码不存在数据库名称:

<?php

$link = mysqli_connect("localhost", "root", "", "php1") ; 
if(mysqli_connect_errno()){
    echo mysqli_connect_error();
    $query = "CREATE DATABASE php1";
    if(mysqli_query($link, $query)){
        echo "Success";
    } else {
        echo "Failure";
    }
}


?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>        
        <a href="signup.php"><button type="button">Sign Up!</button></a>
        <a href="login.php"><button type="button">Log In</button></a>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

代码检查db并且它不存在.接下来我想创建数据库,如果它不存在但我总是得到以下错误:

Warning: mysqli_connect(): (HY000/1049): Unknown database 'php1' in E:\xampp\htdocs\PhpProject1\index.php on line 3

Unknown database 'php1'

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in E:\xampp\htdocs\PhpProject1\index.php on line 7

Failure
Run Code Online (Sandbox Code Playgroud)

这样我就无法创建新的DB.有没有人知道如何纠正这个?

Nat*_*ate 10

修复此问题的三个步骤:

  1. 连接时不要指定数据库名称.
  2. 你的SQL语句应该是CREATE DATABASE IF NOT EXISTS php1.
  3. 调用mysqli_select_db($link, 'php1')以使其成为连接的默认数据库.