1

I am using wamp server 3.0.6, mysql 5.7.14 and php 5.6.25. I am new to php. I need a function which can check if database is exist. if not create one. if database exist execute some code.

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

I know SQL command CREATE DATABASE IF NOT EXISTS mydb. But I don't want to use this and it doesn't work on my application.

1 Answers1

1

Try the following MySQL query:

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

And in php something like:

<?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'; }
?>
Kurt Van den Branden
  • 11,995
  • 10
  • 76
  • 85