Jimmy Gilbert
Professeur au Cégep de Sainte-Foy et Cégep Édouard-Montpetit
//modèle de base de connexion PDO
$db = new PDO('mysql:host=localhost;dbname=bddexemple;charset=utf8mb4', 'user', 'pass');
// exemple dans votre cas
$db = new PDO('mysql:host=localhost;dbname='.DB_NAME.';charset=utf8mb4', DB_USERNAME, DB_PASSWORD);Instancier l'objet PDO
L'utilisation de Try ... Catch vous permet:
try {
$db = new PDO('mysql:host=localhost;dbname='.DB_NAME.';charset=utf8mb4', DB_USERNAME, DB_PASSWORD);
}
catch(PDOException $e) {
echo "Impossible de se connecter!";
die();
}/* 1ère étape : les données */
$datas = array(
'name' => "Vancouver",
'description' => "C'est pas mal loin!"
);
/* 2ème étape : préparer la requête */
$sql = 'INSERT INTO cities (name, description) VALUE (:name, :description)';
$qry = $db->prepare($sql);
/* 3ème étape: On exécute la requête */
$qry->execute($datas);Pour insérer une ligne dans une table
/* 1ère étape : les données */
$datas = array();
/* 2ème étape : préparer la requête */
$sql = "SELECT * FROM cities"; //le SQL
$qry = $db->prepare($sql);
/* 3ème étape: On exécute la requête */
$qry->execute($datas);
$cities = $qry->fetchAll(); //le résultat dans un tableau cities
//Boucle qui affiche les données
foreach ($cities as $city) {
echo $city['name']."<br>";
}Pour lire une ou des lignes d'une table
/* 1ère étape : les données */
$datas = array(
'id' => 2,
'name' => "Saint-Lin"
);
/* 2ème étape : préparer la requête */
$sql = "UPDATE cities SET name = :name WHERE id=:id"; //le SQL
$qry = $db->prepare($sql);
/* 3ème étape: On exécute la requête */
$count = $qry->execute($datas);
echo "Nombre d'éléments mis à jour: ".$count."<br>"; //va afficher le nombre de lignes affectéesPour mettre à jour une ou des lignes d'une table
/* 1ère étape : les données */
$datas = array(
'id' => 3
);
/* 2ème étape : préparer la requête */
$sql = "DELETE FROM cities WHERE id=:id"; //le SQL
$qry = $db->prepare($sql);
/* 3ème étape: On exécute la requête */
$count = $qry->execute($datas);
echo "Nombre d'éléments effacés: ".$count."<br>"; //va afficher le nombre de lignes affectéesPour effacer une ou des lignes d'une table
By Jimmy Gilbert
Présentation 16 - Connexion à une base de données en PHP