我知道如何在PDO中创建数据库,但是我在进行“检查”时遇到问题。如果你没有'this'数据库(其中数据库可能是mydb),那么我需要阅读,然后创建它,然后回显“mydb created successfully。”。创建一个使用PDO在PHP中创建数据库的检查(if语句)
如果已经有一个带有该名称的数据库,则会回显“mydb found”。 就像我说的我在这里使用PDO。我会展示我到目前为止。我还将包括我如何进行支票制作我将需要的表格。
非常感谢您的帮助!
<?php
//Database creation
require_once 'core/init.php';
$servername = Config::get('mysql/host');
$username = Config::get('mysql/username');
$password = Config::get('mysql/password');
$dbname = Config::get('mysql/db');
$createtable = false;
try {
$conn = new PDO("mysql:host=$servername", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE IF NOT EXISTS $dbname";
// use exec() because no results are returned
$conn->exec($sql);
echo "Database created successfully<br>";
$createtable = true;
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
$createtable = true;
} else {
echo Config::get('mysql/db'). '- found!';
}
//Table1 creation
if($createtable){
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// sql to create table
$table = 'surveys';
$sql = "CREATE TABLE IF NOT EXISTS $table (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL,
password VARCHAR(64) NOT NULL,
last_name VARCHAR(20) NOT NULL,
first_name VARCHAR(20) NOT NULL,
middle_name VARCHAR(20),
address_1 VARCHAR(32) NOT NULL,
address_2 VARCHAR(32),
city VARCHAR(32) NOT NULL,
state VARCHAR(12) NOT NULL,
zip INT(12) NOT NULL,
salt VARCHAR(32) NOT NULL
)";
// use exec() because no results are returned
$conn->exec($sql);
echo "Table {$table} created successfully";
//Table2 creation
$table = 'users_session';
$sql = "CREATE TABLE IF NOT EXISTS $table (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
user_id INT(11) NOT NULL,
hash VARCHAR(64) NOT NULL,
)";
$conn->exec($sql);
echo "Table {$table} created successfully";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
} else {
echo "Tables are already made and ready to go!";
}
?>
看看这个:http://stackoverflow.com/questions/2583707/can-i-create-a-database-using- pdo-in-php – Edward