Vous êtes ici : Accueil > Archives > Tutoriels > PHP et MySQL > Fonctions MySQL de PHP, fin

< Retour
Fonctions MySQL, fin
1er script par l'exemple

Fonctions MySQL de PHP, fin


Cette suite ne parleras pas de nouvelles fonctions MySQL, mais de moyens de contourner certaines lacunes de MySQL (ben oui, MySQL à aussi ! des lacunes et des manques).

> Sous interrogations

Les sous interrogations posent beaucoup de problèmes à MySQL, il existe néanmoins, grace à la puissance de PHP :-)) un moyen de contourner l'obstacle, jusqu'à la future version de MySQL qui prendra cela en charge.

Les requêtes imbriquées peuvent être, déjà rien qu'en SQL, transformées pour la plupart en "SELECT ... FROM ... WHERE field [ NOT ] IN ('value1', 'value2' [, ...], 'valueX');" (voir exemples dans le chapitre 'Sélection' des cours SQL), cette syntaxe étant parfaitement bien prise en compte à l'heure actuelle.

Il suffit juste, en PHP, d'exécuter la requête imbriquée en premier, et d'en écrire le résultat élément par élément dans la liste des valeurs de la clause IN.

C'est certe un peu plus facile à dire qu'à faire, mais ce n'est certainement pas irréalisable ! Attention, j'ai par contre bien écrit que la plupart des sous interrogations pouvaient être transformées, mais pas toutes ! hein ?! On est bien d'accord. Les sous interrogations avec l'opérateur ANY (qui compare à au moins une des valeurs retournées par la requête imbriquée) auront beaucoup de mal à migrer...