Bonjour
Je dois faire plusieurs requêtes simples, chacune renvoyant les données d'une seule entrée, mais sur un nombre indéterminé d'entrées.
La première chose est que je suppose qu'il est préférable de faire une seule requête en passant les clés des entrées dans un tableau, plutôt que plusieurs requêtes depuis une boucle php ...
Donc quelque chose comme (en théorie) :
La deuxième chose est que je dois faire deux tests par entrée donc (toujours en théorie) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $arr = array($key1.'%', $key2.'%', ..); $req = $bdd->prepare('SELECT * FROM table WHERE key LIKE ? OR key LIKE ? ..');
C'est la raison pour laquelle je n'ai pas écrit 'IN', il faut que la correspondance soit stricte (keyA ET keyB doivent correspondre)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $arr = array($key1A.'%', $key1B.'%', $key2A.'%', $key2B.'%'..); $req = $bdd->prepare('SELECT * FROM table WHERE (keyA LIKE ? AND keyB LIKE ?) OR (keyA LIKE ? AND keyB LIKE ?)');
Quelle serait la syntaxe pour ce genre de requête ?
Enfin la troisième chose est que je dois récupérer le résultat dans l'ordre initial ($key1.'%', $key2.'%', ..) ? Avec OR ça n'est pas forcément le cas..
Merci d'avance
Partager