我正在使用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。但是我不想使用它,它对我的应用程序不起作用。
答案 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'; }
?>