PHP Create a MySQL Database
Create a MySQL Database Using MySQLi and PDO
The SQL command CREATE DATABASE is used to create a database in MySQL.
Note: You will need administrative privileges to create or delete a MySQL database.
The following examples create a database named "myDB":
Example - MySQLi Object-oriented
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create database
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "Database created successfully";
} else {
echo "Error creating database: " . $conn->error;
}
// Close connection
$conn->close();
?>
Note: When you create a new database, you must only specify
the first three arguments to the mysqli object (servername, username and
password).
Tip: If you have to use a specific port,
add an empty string for the database-name argument, like this: new mysqli("localhost",
"username", "password", "", port)
Example - MySQLi Procedural
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Create database
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Database created successfully";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
// Close connection
mysqli_close($conn);
?>
Example - PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Could not connect. " .
$e->getMessage());
}
try {
$sql = "CREATE DATABASE myDB";
$conn->exec($sql);
echo "Database created successfully";
} catch(PDOException $e)
{
// Handle errors during db creation
echo "Error
creating database: " . $sql . "<br>" . $e->getMessage();
}
// Close connection
$conn = null;
?>
Tip: PDO has an exception class to handle any problems that may occur in our database queries. If an exception is thrown within the try{ } block, the script stops executing and flows directly to the first catch(){ } block. In the catch block above we echo the SQL statement and the generated error message.