Création d’une table MySQL avec PDO

Dans ce tutoriel nous allons découvrir comment créer une table MySQL avec PDO. Une table de base de données a son propre nom unique et se compose de colonnes et de lignes.
 
 
Pour créer une nouvelle table dans une base de données, on utilise l’instruction CREATE TABLE. L’instruction SQL suivante crée la table « Users »:

CREATE TABLE Users (
	id INT(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
	firstname VARCHAR(50) NOT NULL,
	lastname VARCHAR(50) NOT NULL,
	address VARCHAR(250)
)

Nous exécutons cette instructions SQL pour créer la table « Users » via un outil en ligne de commande ou un outil d’interface graphique MySQL. Pourtant, nous allons utiliser l’API PDO pour créer des tables avec PHP.
 

Script pour créer une table MySQL avec PDO
<?php
 $host='localhost';
 $dbname = 'test';
 $username = 'root';
 $password = '';
 
 try{
  $dsn = "mysql:host=$host;dbname=$dbname";
  $pdo = new PDO($dsn, $username, $password);
 
  $sql = <<<EOSQL
CREATE TABLE Users (
	id INT(3) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
	firstname VARCHAR(50) NOT NULL,
	lastname VARCHAR(50) NOT NULL,
	address VARCHAR(250)
) ENGINE=InnoDB
EOSQL;
 
  $msg = '';
  
  $res = $pdo->exec($sql);
 
  if($res !== false){
	 $msg =  "La table Users est créée avec succès!";
  }else{
	 $msg =  "Erreur lors de la création de la table Users.";
  }

  // afficher le message
  if($msg != '')
	 echo $msg;
 
  }catch (PDOException $e){
	 echo $e->getMessage();
}
?>

 

Comment cela fonctionne!
  • Nous avons créé une connexion à la base de données MySQL en instanciant une instance de la classe PDO et en transmettant l’argument $dsn à son constructeur.
  • Ensuite, nous avons spécifié l’instruction SQL qui crée la table « Users ».
  • Enfin, nous appelons la méthode exec() de la classe PDO pour exécuter l’instructions SQL.
QCM sur PHPQCM sur PHP – Les bases – Partie 1QCM sur PHP avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *