oujood.com

Comment exécuter une requête SQL en PHP

L'article explique comment utiliser la fonction real_query() en PHP pour exécuter une requête SQL unique sur une base de données MySQL.

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().