如果PHP中存在MySQL数据库,请执行一些操作

时间:2016-12-25 12:24:25

标签: php mysql database

我正在使用wamp server 3.0.6,mysql 5.7.14和php 5.6.25。我是php的新手。 我需要一个可以检查数据库是否存在的函数。如果没有创建一个。如果数据库存在则执行一些代码。

$dbname = "mydb";
if($dbname exist){
   // do someting
} else {
   // create new database.
   database name = $dbname;
}

我知道SQL命令CREATE DATABASE IF NOT EXISTS mydb。但是我不想使用它,它对我的​​应用程序不起作用。

1 个答案:

答案 0 :(得分:0)

尝试以下MySQL查询:

SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'mydb'

在php中就像:

<?php

    $connection;
    $dbname = 'mydb'
    $username = 'username';
    $password = "password";

    $connection = new PDO("mysql:host=localhost", $username, $password);
    $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $stmt = connection->prepare("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME =:dbname");
    $stmt->execute(array(":dbname"=>$dbname));
    $row=$stmt->fetch(PDO::FETCH_ASSOC);

    if($stmt->rowCount() == 1)
    {
        echo 'db exists';
        // or do other stuff    
    }
    else { echo 'db does not exist'; }
?>