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), '?'));
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})";
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);
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();
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!