Académique Documents
Professionnel Documents
Culture Documents
PHP(pt.3)
PHP MySQL Database
Meryem SOUAIDI
Department of Computer Science
Faculty of Sciences-Agadir
1
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 utilisé avec PHP.
● MySQL est:
● un système de base de données utilisé sur le Web
❖ un système de base de données qui s'exécute sur un serveur
❖ idéal pour les petites et grandes applications
❖ est très rapide, fiable et facile à utiliser
❖ utilise le SQL standard
❖ compile sur un certain nombre de plates-formes
❖ est gratuit à télécharger et à utiliser
❖ est développé, distribué et pris en charge par Oracle Corporation
● Nous pouvons interroger une base de données pour obtenir des informations
spécifiques et renvoyer un jeu d'enregistrements.
● Regardez la requête suivante (en utilisant SQL standard): SELECT LastName FROM Employees
● Ainsi, si vous devez changer votre projet pour utiliser une autre base de données, PDO
facilite le processus. Il vous suffit de modifier la chaîne de connexion et quelques requêtes.
Avec MySQLi, vous devrez réécrire tout le code - requêtes incluses.
● Les deux prennent en charge les déclarations préparées. Les instructions préparées
protègent de l'injection SQL et sont très importantes pour la sécurité des applications Web.
Faculté des Sciences Agadir Université Ibn Zohr 5
Open a Connection to MySQL
● Avant de pouvoir accéder aux données de la base de données MySQL, nous devons pouvoir
<?php
nous connecter au serveur: $servername = "localhost";
<?php
$servername = "localhost"; $username = "username";
$username = "username"; $password = "password";
$password = "password";
try {
// Create connection $conn = new
$conn = new mysqli($servername, $username, PDO("mysql:host=$servername;dbname=myDB", $username,
$password); $password);
// set the PDO error mode to exception
// Check connection $conn->setAttribute(PDO::ATTR_ERRMODE,
if ($conn->connect_error) { PDO::ERRMODE_EXCEPTION);
die("Connection failed: " . echo "Connected successfully";
$conn->connect_error); } catch(PDOException $e) {
} echo "Connection failed: " . $e->getMessage();
echo "Connected successfully"; }
?> ?>
● Dans l'exemple PDO ci-dessus, nous avons également spécifié une base de données (myDB). PDO nécessite
une base de données valide pour se connecter. Si aucune base de données n'est spécifiée, une exception est
levée.
● La connexion sera fermée automatiquement à la fin du script. Pour fermer la connexion avant, utilisez ce qui
suit:
MySQLi $conn->close(); PDO $conn = null;
Faculté des Sciences Agadir Université Ibn Zohr 6
PHP Create a MySQL Database
● 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.
● 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":
<?php
$servername = "localhost"; <?php
$username = "username"; $servername = "localhost";
$password = "password"; $username = "username";
// Create connection $password = "password";
$conn = new mysqli($servername, $username, $password); try {
// Check connection $conn = new PDO("mysql:host=$servername", $username, $password);
if ($conn->connect_error) { // set the PDO error mode to exception
die("Connection failed: " . $conn->connect_error); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} $sql = "CREATE DATABASE myDBPDO";
// Create database // use exec() because no results are returned
$sql = "CREATE DATABASE myDB"; $conn->exec($sql);
if ($conn->query($sql) === TRUE) { echo "Database created successfully<br>";
echo "Database created successfully"; } catch(PDOException $e) {
} else { echo $sql . "<br>" . $e->getMessage();
echo "Error creating database: " . $conn->error; }
} $conn = null;
$conn->close(); ?>
?>
Faculté des Sciences Agadir Université Ibn Zohr 7
PHP MySQL Create Table
● Une table de base de données a son propre nom unique et se compose de colonnes et de
lignes.
● L'instruction CREATE TABLE est utilisée pour créer une table dans MySQL.
● Nous allons créer une table nommée "MyGuests", avec cinq colonnes: "id", "firstname",
"lastname", "email" et "reg_date":
CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
● Chaque table doit avoir une colonne de clé primaire (dans ce cas: la colonne "id"). Sa valeur
doit être unique pour chaque enregistrement de la table.
● L'instruction INSERT INTO est utilisée pour ajouter de nouveaux enregistrements à une
table MySQL:
● La clause LIMIT facilite le codage des résultats de plusieurs pages ou de la pagination avec SQL et est
très utile sur les grandes tables. Le renvoi d'un grand nombre d'enregistrements peut avoir un impact
sur les performances.
● Supposons que nous souhaitons sélectionner tous les enregistrements de 1 à 30 (inclus) dans une table
appelée "Commandes". La requête SQL ressemblerait alors à ceci:
● Lorsque la requête SQL ci-dessus est exécutée, elle renverra les 30 premiers enregistrements.
● La requête SQL ci-dessous indique "ne renvoyer que 10 enregistrements, commencer sur
l'enregistrement 16 (OFFSET 15)":
● Vous pouvez également utiliser une syntaxe plus courte pour obtenir le même résultat:
● Notez que les nombres sont inversés lorsque vous utilisez une virgule.