PHP Créer une base de données MySQL
Une base de données se compose d'une ou plusieurs tables.
Vous aurez besoin de privilèges CREATE spéciaux pour créer ou supprimer une base de données MySQL.
Créer une base de données MySQL avec MySQLi et PDO
L'instruction CREATE DATABASE est utilisée pour créer une base de données dans MySQL.
Les exemples suivants créent une base de données nommée "myDB":
Exemple (MySQLi orienté objet)
<?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;
}
$conn->close();
?>
Remarque : Lorsque vous créez une nouvelle base de données, vous ne devez spécifier que les trois premiers arguments de l'objet mysqli (nom du serveur, nom d'utilisateur et mot de passe).
Astuce : Si vous devez utiliser un port spécifique, ajoutez une chaîne vide pour l'argument nom de la base de données, comme ceci : new mysqli("localhost", "username", "password", "", port)
Exemple (procédural MySQLi)
<?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);
}
mysqli_close($conn);
?>
Remarque : L'exemple de PDO suivant crée une base de données nommée "myDBPDO" :
Exemple (AOP)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
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 myDBPDO";
// use exec() because no results are returned
$conn->exec($sql);
echo "Database created successfully<br>";
} catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
Astuce : Un grand avantage de PDO est qu'il a une classe d'exception pour gérer tous les problèmes qui peuvent survenir dans nos requêtes de base de données. Si une exception est levée dans le bloc try{ }, le script arrête de s'exécuter et passe directement au premier bloc catch(){ }. Dans le bloc catch ci-dessus, nous faisons écho à l'instruction SQL et au message d'erreur généré.