Maison > développement back-end > tutoriel php > Comment puis-je utiliser des requêtes SQL d'espace réservé pour transmettre des tableaux aux clauses WHERE ?

Comment puis-je utiliser des requêtes SQL d'espace réservé pour transmettre des tableaux aux clauses WHERE ?

Barbara Streisand
Libérer: 2024-12-18 09:52:13
original
388 Les gens l'ont consulté

How Can I Use Placeholder SQL Queries to Pass Arrays to WHERE Clauses?

Utilisation de requêtes SQL d'espace réservé pour transmettre des tableaux aux clauses WHERE

Lorsque vous traitez des tableaux dans des requêtes SQL, en particulier lors de l'utilisation de clauses WHERE, cela devient nécessaire de trouver un moyen d'incorporer les valeurs du tableau dans la chaîne de requête. Le tableau d'ID fourni ($galleries) nécessite une requête qui utilise efficacement ces valeurs dans sa clause WHERE.

Une solution consiste à utiliser des requêtes SQL à espace réservé. Suivez ces étapes :

1. Définissez la chaîne d'espace réservé :

$placeholder = join(',', array_fill(0, count($galleries), '?'));
Copier après la connexion

Cela crée une chaîne avec des points d'interrogation séparés par des virgules, représentant les espaces réservés pour les valeurs du tableau. Dans notre exemple, la chaîne d'espace réservé serait "?,,?".

2. Préparez la chaîne de requête :

$query = "SELECT * FROM galleries WHERE id IN ({$placeholder})";
Copier après la connexion

La chaîne de requête utilise l'opérateur IN et la chaîne d'espace réservé pour incorporer les valeurs du tableau dans la clause WHERE.

3. Lier les valeurs du tableau :

À l'aide d'une instruction préparée, liez les valeurs du tableau aux espaces réservés :

$stmt = $conn->prepare($query);
$stmt->bind_param(str_repeat('i', count($galleries)), ...$galleries);
Copier après la connexion

Cela lie les éléments du tableau aux espaces réservés dans l'instruction préparée.

4. Exécutez la requête :

$stmt->execute();
Copier après la connexion

L'instruction préparée est exécutée, en utilisant efficacement les valeurs du tableau dans la clause WHERE.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal