j'appelle plusieurs fois une fonction qui exécute une requête SQL puis utilise le résultat pour faire un affichage ; je compte donc créer une fonction PHP. La requête SQL est une requête préparée, donc l'un des paramètres est le marqueur.
Au début, je faisais :
$marqueur=array(':name'=>$name);
aff_infos($query,$marqueur)
et aff_infos.php :
function aff_infos($query,$marqueur) {
global $bdd;
$qid = $bdd->prepare($query);
$qid->execute($marqueur);
$row=$qid->FetchAll(PDO::FETCH_ASSOC);
};mais la variable $row était vide. J'ai compris que le problème venait de passer $marqueur par paramètre car function aff_infos($query) {
global $bdd;
$name="jupiter";
$marqueur=array(':name'=>$name);
$qid = $bdd->prepare($query);
$qid->execute($marqueur);
$row=$qid->FetchAll(PDO::FETCH_ASSOC);fonctionne. Donc je voudrais passer par paramètre la clé et la variable pour faire un truc du genre function aff_infos($query,$var,$key) {
global $bdd;
$marqueur=array($key=>$var);
$qid = $bdd->prepare($query);
$qid->execute($marqueur);
$row=$qid->FetchAll(PDO::FETCH_ASSOC);sauf que la syntaxe n'est pas bonne vu que Donc que faudrait-il écrire ?Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\wamp\www\eis2\eis\page\include\aff_infos.php on line 43