youp,
je ne sais pas si je m'y prends mal ou quoi mais je voudrais passer chaque ligne d'un tableau par référence dans une fonction en ne renseignant que le tableau.
En fait, je récupère les donnes d'une DB via :
Code :
- $stmt = $mysqli->prepare($query);
- $stmt->execute();
- $stmt->bind_result($col1,$col2,...)
|
Je ne connais pas à l'avance le nombre de colonnes, mais j'ai un tableau contenant le nom de ces colonnes :
$fields['titre'], $fields['message']... |
Donc pour passer mes paramètres à $stmt->bind_result(), j'utilise call_user_func_array() comme ceci (enfin j'aimerais le faire comme ça) :
Code :
- call_user_func_array(array($stmt,'bind_result'),$fields) // $stmt->bind_result($fields)
|
et j'aimerais récupérer les données dans $fields.
Mais vous l'aurez deviné, ça ne marche pas
J'ai essayé avec aussi peu de succès :
Code :
- call_user_func_array(array($stmt,'bind_result'),&$fields) // $stmt->bind_result($fields)
|
Ce qui marche, c'est :
Code :
- call_user_func_array(array($stmt,'bind_result'), array(&$fields['titre'],&$fields['message']));
|
Mais du coup, j'en reviens au premier problème qui est que je ne connais pas à l'avance le nombre de champs (ni leurs noms)
Quelqu'un aurait une solution ?
Message édité par art_dupond le 30-03-2008 à 00:04:55
---------------
oui oui