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 spéciaux de type CREATE pour créer ou supprimer une base de données MySQL.


Créer une base de données MySQL en utilisant 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";

// Créer une connexion
$conn = new mysqli($servername, $username, $password);
// Vérifier la connexion
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}

// Créer la base de données
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "Base de données créée avec succès";
} else {
echo "Erreur lors de la création de la base de données : " . $conn->error;
}

$conn->close();
?>

Remarque : Lorsque vous créez une nouvelle base de données, vous devez uniquement spécifier les trois premiers arguments pour l'objet mysqli (servername, username et password).

Astuce : Si vous devez utiliser un port spécifique, ajoutez une chaîne vide pour l'argument du nom de la base de données, comme ceci : new mysqli("localhost", "username", "password", "", port)



Exemple (MySQLi procédural)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Créer une connexion
$conn = mysqli_connect($servername, $username, $password);
// Vérifier la connexion
if (!$conn) {
die("Échec de la connexion : " . mysqli_connect_error());
}

// Créer la base de données
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Base de données créée avec succès";
} else {
echo "Erreur lors de la création de la base de données : " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Remarque : L'exemple PDO suivant crée une base de données nommée "myDBPDO" :

Exemple (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
$conn = new PDO("mysql:host=$servername", $username, $password);
// définir le mode d'erreur PDO sur exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE myDBPDO";
// utiliser exec() car aucun résultat n'est retourné
$conn->exec($sql);
echo "Base de données créée avec succès<br>";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

Astuce : Un grand avantage de PDO est qu'il dispose d'une classe d'exception pour gérer 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 cesse de s'exécuter et passe directement au premier bloc catch(){ }. Dans le bloc catch ci-dessus, nous affichons l'instruction SQL et le message d'erreur généré.