OUJOOD.COM
La fonction real_query() ou mysqli_real_query() en PHP
PHP Version: 5+
La fonction real_query() ou mysqli_real_query() est utilisée pour exécuter une requête SQL unique sur une base de données MySQL. La fonction retourne true si l'exécution de la requête a réussi, ou false si une erreur s'est produite.
Définition et utilisation
La fonction real_query() est définie comme suit :
bool real_query(string $query, mysqli $connection);
Le premier paramètre, $query, est une chaîne contenant la requête SQL à exécuter. Le second paramètre, $connection, est une instance de la classe mysqli représentant la connexion à la base de données.
Syntaxes orientée objet et procédurale
La fonction real_query() est disponible dans les deux styles de programmation, orienté objet et procédural.
Syntaxe orientée objet
$connection = new mysqli("localhost", "root", "", "my_database"); // Exécuter une requête SQL $result = $connection->real_query("SELECT * FROM users"); if ($result) { // La requête a réussi } else { // Une erreur s'est produite }
Syntaxe procédurale
$connection = mysqli_connect("localhost", "root", "", "my_database"); // Exécuter une requête SQL $result = mysqli_real_query($connection, "SELECT * FROM users"); if ($result) { // La requête a réussi } else { // Une erreur s'est produite }
Valeurs possibles et paramètres
La fonction real_query() retourne true si l'exécution de la requête a réussi, ou false si une erreur s'est produite.
Le paramètre $query doit être une chaîne valide contenant une requête SQL. La requête peut être une instruction SELECT, INSERT, UPDATE ou DELETE.
Exemples Pratiques d'utilisation de la fonction real_query() en PHP
Syntaxe Orientée Objet
Sélectionner toutes les lignes de la table 'users'
Exemple : 📋 Copier le code
<?php $query = "SELECT * FROM users"; $result = $connection->real_query($query); if ($result) { // La requête a réussi // Parcourir les résultats while ($row = mysqli_fetch_assoc($result)) { echo $row['name'] . " " . $row['email']; } } else { // Une erreur s'est produite } ?>
Insérer un nouveau record dans la table 'users'
Exemple : 📋 Copier le code
<?php $query = "INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com')"; $result = $connection->real_query($query); if ($result) { // La requête a réussi // Afficher le message de confirmation echo "Le nouveau record a été créé avec succès."; } else { // Une erreur s'est produite } ?>
Mettre à jour un record dans la table 'users'
Exemple : 📋 Copier le code
<?php $query = "UPDATE users SET name = 'Jane Doe' WHERE email = 'janedoe@example.com'"; $result = $connection->real_query($query); if ($result) { // La requête a réussi // Afficher le message de confirmation echo "Le record a été mis à jour avec succès."; } else { // Une erreur s'est produite } ?>
Supprimer un record de la table 'users'
Exemple : 📋 Copier le code
<?php $query = "DELETE FROM users WHERE email = 'janedoe@example.com'"; $result = $connection->real_query($query); if ($result) { // La requête a réussi // Afficher le message de confirmation echo "Le record a été supprimé avec succès."; } else { // Une erreur s'est produite } ?>
Syntaxe Procédurale
Sélectionner toutes les lignes de la table 'users'
Exemple : 📋 Copier le code
<?php $query = "SELECT * FROM users"; $result = mysqli_real_query($connection, $query); if ($result) { // La requête a réussi // Parcourir les résultats while ($row = mysqli_fetch_assoc($result)) { echo $row['name'] . " " . $row['email']; } } else { // Une erreur s'est produite } ?>
Insérer un nouveau record dans la table 'users'
Exemple : 📋 Copier le code
<?php $query = "INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com')"; $result = mysqli_real_query($connection, $query); if ($result) { // La requête a réussi // Afficher le message de confirmation echo "Le nouveau record a été créé avec succès."; } else { // Une erreur s'est produite } ?>
Mettre à jour un record dans la table 'users'
Exemple : 📋 Copier le code
<?php $query = "UPDATE users SET name = 'Jane Doe' WHERE email = 'janedoe@example.com'"; $result = mysqli_real_query($connection, $query); if ($result) { // La requête a réussi // Afficher le message de confirmation echo "Le record a été mis à jour avec succès."; } else { // Une erreur s'est produite } ?>
Supprimer un record de la table 'users'
Exemple : 📋 Copier le code
<?php $query = "DELETE FROM users WHERE email = 'janedoe@example.com'"; $result = mysqli_real_query($connection, $query); if ($result) { // La requête a réussi // Afficher le message de confirmation echo "Le record a été supprimé avec succès."; } else { // Une erreur s'est produite } ?>
Astuces et conseils d'utilisation pratique
- Pour éviter les attaques par injection SQL, utilisez des requêtes préparées.
- Vérifiez toujours le retour de la fonction real_query().