Maison  >  Article  >  développement back-end  >  Comment effectuer une requête de base de données basée sur un tableau en php

Comment effectuer une requête de base de données basée sur un tableau en php

PHPz
PHPzoriginal
2023-04-11 09:11:23531parcourir

Dans le développement Web, utiliser des requêtes de base de données est une compétence très importante. Parfois, nous devons interroger les données de la base de données qui répondent à certaines conditions, traiter et afficher les résultats. Dans ce cas, il serait très pratique de pouvoir interroger en fonction du tableau.

En PHP, vous pouvez utiliser l'extension MySQLi ou l'extension PDO pour effectuer des opérations de requête de base de données. Aujourd'hui, nous utiliserons l'extension MySQLi pour montrer comment effectuer des requêtes de base de données basées sur des tableaux.

Tout d'abord, supposons que nous ayons une table appelée « utilisateurs » avec des champs tels que l'identifiant, le nom, l'âge et le sexe. Nous devons interroger les informations de tous les utilisateurs dont l’âge est supérieur ou égal à 18 ans et dont le sexe est féminin. Nous pouvons stocker ces conditions dans un tableau comme indiqué ci-dessous :

$conditions = [
    'age' => '>=18',
    'gender' => 'female'
];

Ensuite, nous pouvons utiliser la fonction mysqli_real_escape_string() dans l'extension MySQLi pour échapper aux valeurs du tableau afin d'empêcher les attaques par injection SQL.

foreach($conditions as $key => $value) {
    $value = mysqli_real_escape_string($connection, $value);
    $conditions[$key] = "$key $value";
}

En parcourant toutes les clés et valeurs du tableau, nous échappons et combinons chaque condition en une chaîne similaire à "clé 'valeur'". Cette chaîne sera utilisée comme clause WHERE dans la partie instruction de requête SQL. de.

Ensuite, nous pouvons utiliser la fonction implode() pour concaténer le tableau conditionnel en une clause WHERE complète. Le code de la requête est le suivant :

$whereClause = implode(' AND ', $conditions);
$query = "SELECT * FROM users WHERE $whereClause";

$result = mysqli_query($connection, $query);

// do something with the query result

Cette requête utilise la clause WHERE pour filtrer les données de la table des utilisateurs et affiche uniquement les données qui remplissent les conditions.

En résumé, une requête de base de données basée sur un tableau nécessite les étapes suivantes :

  1. Stocker les conditions de requête dans un tableau.
  2. Utilisez la fonction mysqli_real_escape_string() pour échapper aux valeurs du tableau afin d'empêcher les attaques par injection SQL.
  3. Parcourez les clés et les valeurs du tableau, en les combinant dans le cadre d'une clause WHERE.
  4. Utilisez la fonction implode() pour concaténer les conditions de la clause WHERE en une chaîne complète.
  5. Utilisez des instructions de requête pour interroger la base de données.
  6. Traitez les résultats de la requête.

Ce qui précède sont les méthodes de fonctionnement pertinentes pour les requêtes de base de données basées sur des tableaux. J'espère que cela aide tout le monde.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn