Mysqli bind_param sur nombre de paramètres variable

Mysqli bind_param sur nombre de paramètres variable - PHP - Programmation

Marsh Posté le 23-11-2007 à 10:02:40    

Bonjour,
 
Je tente vainement d'utiliser la méthode bind_param() de mysqli avec un nombre de paramètres variable (factorisation du code). En gros, j'ai un array de variables (et justement de taille variable) que j'aimerais binder sur la fonction
 

Code :
  1. bool bind_param ( string $types, mixed &$var1 [, mixed &$...] )


 
Et je ne trouve pas comment faire. Bien évidemment, on ne peut binder les paramètres en plusieurs fois pour un statement, ça aurait été trop simple.
 
Si vous avez des idées...

Reply

Marsh Posté le 23-11-2007 à 10:02:40   

Reply

Marsh Posté le 26-11-2007 à 12:14:09    

Personne ?
 
Tant qu'à faire, j'aimerais vraiment éviter de passer par un ORM...

Reply

Marsh Posté le 26-11-2007 à 13:32:42    

Je m'attendais effectivement à une sollution crade...
 
Je teste ça, en tout cas merci.

Reply

Marsh Posté le 26-11-2007 à 14:58:16    

Il me sort l'erreur suivante :
 

Code :
  1. Fatal error: Cannot pass parameter 2 by reference


 
Logique finalement. Je continue les tests...

Reply

Marsh Posté le 28-11-2007 à 14:09:58    

Bon, pour que la solution de NazzTazz fonctionne, le message d'erreur était assez parlant.
 
Si $values est un array associatif de type 'nom_du_champ' => $valeur, le code suivant fonctionne. Crade, mais fonctionne.
 
 

Code :
  1. foreach ($values as $name => $val)
  2.   $tmp .= ', $values[\''.$name.'\']';
  3.  
  4. eval("\$stmt->bind_param('$types' $tmp);" );


 
mais qu'est ce que c'est laid [:dawa]
 
Edit : balises code.


Message édité par LeRiton le 28-11-2007 à 14:12:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed