J'utilise php avec mysqli pour un projet web.Utilisation de bind_parameters avec un nombre inconnu de paramètres
Nous supposons que nous devons trouver la chanson avec le titre "Elle est comme le vent".
Si nous étions sûr que l'utilisateur saisir les paroles de la chanson afin que nous pourrions le faire (pseudocode):
get input and apply explode()
concat each word with % between them
and execute query
Avec cette entrée: « elle a le vent », qui sera transformé en " % she% the% wind% ", la chanson sera trouvée.
Mais quand l'entrée est comme ceci: "wind like" -> "% wind% like%", la chanson ne sera pas trouvée.
J'ai pensé à créer la chaîne de requête $ en ajoutant like %?% and
autant de fois que la longueur du tableau de mots est. Ainsi, la chaîne de requête $ est prête.
Le problème apparaît avec l'argument $ bind de paramètres bind.
Encore une fois la chaîne de types de $ peut être concaténée par quelque chose comme ceci:
$types .= "s"; //again, the number of times as the length of the array.
Mais les variables représentant les mots? S'il y a 2 mots l'appel de fonction sera quelque chose comme:
bind("ss", $word1, $word2)
Combien de variables mot $ à utiliser?
Nous pourrions définir un nombre maximum de mots à rechercher, dans l'exemple 5, mais ici nous obtenons un autre problème. Quel serait le contenu des variables qui ne seront pas utilisées? Dans l'exemple, si l'entrée est de 2 mots, que contiendront les 3 dernières variables?
Je suis intéressé par le nombre variable de paramètres de liaison. Quelle est la variable que je dois lier? – Chris
Qu'en est-il de l'utilisation de la fonction call_user_func_array? Mais j'ai besoin de l'ajuster à mon problème .. – Chris