Vous êtes sur la page 1sur 13

12/02/2021

PHP Database

PHP MySQL Database


• Avec PHP, vous pouvez vous connecter et
manipuler des bases de données.
• MySQL est le système de base de données le
plus populaire utilisé avec PHP

1
12/02/2021

What is MySQL?
• MySQL est un système de base de données utilisé sur le
web
• MySQL est un système de base de données qui s'exécute
sur un serveur
• MySQL est idéal pour les petites et grandes applications
• MySQL est très rapide, fiable et facile à utiliser
• MySQL utilise le SQL standard
• MySQL se compile sur un certain nombre de plateformes
• MySQL est gratuit à télécharger et à utiliser
• MySQL est développé, distribué et pris en charge par
Oracle Corporation

MySQL database
• Les données d'une base de données MySQL sont
stockées dans des tables. Une table est une collection
de données liées, et elle se compose de colonnes et de
lignes.
• Les bases de données sont utiles pour stocker des
informations de manière catégorique. Une entreprise
peut avoir une base de données avec les tables
suivantes:
 Des employés
 Des produits
 Les clients
 Ordres

2
12/02/2021

PHP/MySQL
PHP 5 et versions ultérieures peuvent fonctionner avec
une base de données MySQL en utilisant:

• MySQL

• Extension MySQLi (le "i" signifie " improved " amélioré)

• PDO (PHP Data Objects)

MySQL & MySQLi & PDO

• MySQL

• MySQLi (Version procédurale)

• MySQLi (Orienté objet )

• PDO (Orienté objet)

• PDO fonctionnera sur plusieurs systèmes de bases de


données, MySQLi ne fonctionnera qu'avec les bases de
données MySQL.

3
12/02/2021

MySQL & MySQLi & PDO


D'une manière générale l'accès à une base de
données se réalise en 3 étapes:
La connexion

La requête SQL

La déconnexion

Ouverture d’une connexion à MySQL

• Exemple (MySQL procédural)

• Exemple (MySQLi procédural)

• Exemple (MySQLi orienté objet)

• Exemple (PDO)

4
12/02/2021

Ouverture d’une connexion à MySQL


• MySQL procédural
$conn = mysql_connect($servername, $username, $password);
mysql_select_db($bd, $conn);
• MySQLi procédural
$conn = mysqli_connect($servername, $username, $password);
$conn = mysqli_connect($servername, $username, $password, $bd );
• MySQLi orienté objet
$conn = new mysqli($servername, $username, $password );
$conn = new mysqli($servername, $username, $password, $bd );
• PDO
$conn = new PDO("mysql:host=$servername;", $username, $password );
$conn = new PDO("mysql:host=$servername; dbname=$bd", $username,
$password );

mysqli_select_db
mysqli_select_db ( mysqli $link , string $dbname ) : bool
Link :Seulement en style procédural : Un identifiant de lien
retourné par la fonction mysqli_connect() ou par la fonction
mysqli_init()
dbname : Le nom de la base de données.
Cette fonction retourne true en cas de succès ou false si une
erreur survient.
mysqli_select_db Sélectionne la base de données par défaut
(spécifiée par le paramètre dbname) pour être utilisée lors de
l'exécution de requêtes sur la connexion représentée par le
paramètre link.

10

5
12/02/2021

Exemple (MySQLi Procédural)


<?php
$servername = 'localhost';
$username = 'root';
$password = '';
//On établit la connexion
$conn = mysqli_connect($servername, $username, $password);
//On vérifie la connexion
if(!$conn){
die('Erreur : ' .mysqli_connect_error());
}
echo 'Connexion réussie’;
mysqli_close($conn);
?>

11

Fermeture de la connexion
• MySQL procédural
mysql_close($conn);
• MySQLi procédural
mysqli_close($conn)
• MySQLi orienté objet
$conn->close()
• PDO
$conn=null

12

6
12/02/2021

Création d’une base de données


MySQLi procédural
<?php
$servername = 'localhost';
$username = 'root';
$password = '';
//On établit la connexion
$conn = mysqli_connect($servername, $username, $password);
//On vérifie la connexion
if(!$conn){
die('Erreur : ' .mysqli_connect_error());
}
$sql = "CREATE DATABASE dbmysqlptest";
if(mysqli_query($conn,$sql)){
echo 'Base de données créée correctement';
}
else{
echo 'Erreur lors de la création de la BD '.mysqli_error($conn);
}
mysqli_close($conn);
?>

13

Création d’une table dans la base


MySQLi procédural
<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$bd = 'dbmysqlptest';
//On établit la connexion
$conn = mysqli_connect($servername, $username, $password,$bd);
//On vérifie la connexion
if(!$conn){
die('Erreur : ' .mysqli_connect_error());
}
$sql = "CREATE TABLE personne( Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Nom VARCHAR(30) NOT NULL, Prenom VARCHAR(30) NOT NULL,
Adresse VARCHAR(70) NOT NULL, Ville VARCHAR(30) NOT NULL)";
if(mysqli_query($conn,$sql)){
echo 'Table créée correctement';
}
else{
echo 'Erreur lors de la création de la table'.mysqli_error($conn);
}
mysqli_close($conn);
?>
14

7
12/02/2021

PHP Insérer des données dans MySQL


• Insérer des données dans MySQL à l'aide de
MySQLi

15

Exemple (MySQLi Procedural)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Créer une connexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Vérifier la connexion
if (!$conn) {
die(" La connexion a échoué: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if (mysqli_query($conn, $sql)) {
echo " Nouvel enregistrement créé avec succès ";
} else {
echo "Erreur: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>

16

8
12/02/2021

mysqli_insert_id
mysqli_insert_id ( mysqli $link ) : mixed
• Link : Seulement en style procédural : Un identifiant de
lien retourné par la fonction mysqli_connect() ou par
la fonction mysqli_init()
• La fonction mysqli_insert_id() retourne l'identifiant
généré par une requête (généralement INSERT) sur une
table avec une colonne possédant l'attribut
AUTO_INCREMENT. Si aucune instruction INSERT ou
UPDATE n'a été envoyé grâce à cette connexion, ou si
la table modifié ne possède pas de colone avec
l'attribut AUTO_INCREMENT, cette fonction retournera
zéro.

17

Sélection des données avec MySQLi


• Exemple (MySQLi Procedural)

18

9
12/02/2021

mysqli_num_rows ($result)
• mysqli_num_rows ($result)
C’est une fonction utilisée pour renvoyer le nombre de lignes
présentes dans le résultat. Il est généralement utilisé pour
vérifier si des données sont présentes dans la base de données
ou non.
Cette fonction accepte un seul paramètre $ result. Il s'agit d'un
paramètre obligatoire et représente l'ensemble de résultats
renvoyé par une requête d'extraction dans MySQL.
Valeur de retour: il renvoie le nombre de lignes présentes
dans l'ensemble de résultats.
• mysqli_fetch_row($result)
Récupère une ligne de résultat sous forme de tableau indexé.
19

Exemple (MySQLi Procedural)


<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$bd = 'dbmysqlptest';
$conn = mysqli_connect($servername, $username,
$password,$bd);
if(!$conn){ die('Erreur : ' .mysqli_connect_error());}

20

10
12/02/2021

$sql = "SELECT Nom, Prenom FROM personne";


$result=mysqli_query($conn,$sql);
if($result){
if(mysqli_num_rows($result)>0){
echo "Nombre d'enregistrements : ". mysqli_num_rows($result)."<BR>";
while($enr=mysqli_fetch_row($result)){
echo "Nom : ".$enr[0]." Prénom : ".$enr[1]."<BR>";
}
}else{
echo "Nombre d'enregistrements : 0 !!!!";
}
}else{
echo 'Erreur : '.mysqli_error($conn);
}
mysqli_free_result($result);
mysqli_close($conn);
?> 21

PHP Supprimer les données de


MySQL
• Exemple (MySQLi orienté objet)
• Exemple (MySQLi procédural)

22

11
12/02/2021

Example (MySQLi Procedural)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Créer une connexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Vérifier la connexion
if (!$conn) {
die(" La connexion a échoué : " . mysqli_connect_error());
}
// sql pour supprimer un enregistrement
$sql = "DELETE FROM MyGuests WHERE id=3";
if (mysqli_query($conn, $sql)) {
echo " Enregistrement supprimé avec succès ";
} else {
echo " Erreur lors de la suppression de l'enregistrement: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

23

Mise à jour des données dans MySQL


• Exemple (MySQLi procédural)

24

12
12/02/2021

Exemple (MySQLi Procedural)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Créer une connexion
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Vérifier la connexion
if (!$conn) {
die(" La connexion a échoué : " . mysqli_connect_error());
}
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";
if (mysqli_query($conn, $sql)) {
echo " Enregistrement mis à jour avec succès ";
} else {
echo " Erreur lors de la mise à jour de l'enregistrement: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
25

13

Vous aimerez peut-être aussi