WRInaute occasionnel
Bonjour,
J'essaie de faire un truc sûrement très simple, mais pas pour tout le monde...
Well, j'ai donc deux fichiers, header.php et contenu.php
Dans le premier, j'ai une requête SQL qui va servir dans plusieurs parties du site à la fois. Et je ne veux pas la recopier partout. L'idée est donc, vous l'avez déjà compris, de se servir du principe des requêtes préparées pour utiliser cette requête partout, mais en changeant seulement la valeur du paramètre (lequel est retourné en $_POST[' ']).
J'ai donc fait ainsi :
Fichier header.php :
Puis, dans le fichier contenu.php, j'ai cela :
Ce qui me génère une superbe erreur :
La ligne 14 étant la ligne $stmt->execute();
Ce qui à son tour me laisse dire qu'au moins la requête est exécutée, mais le résultat est loin d'y être...
Est-ce une erreur de forme ou de fond ? Je pense que c'est la forme, parce qu'à moins de n'y avoir rien compris, on peut tout à fait déporter une requête dans un fichier séparé. Mais comme ici je mélange du pdo et des requêtes préparées, le résultat est de mauvais goût...
Merci d'avance pour vos lumières !
NB : le contenu de la variable $id est bel et bien retourné par le formulaire, j'ai testé.
J'essaie de faire un truc sûrement très simple, mais pas pour tout le monde...
Well, j'ai donc deux fichiers, header.php et contenu.php
Dans le premier, j'ai une requête SQL qui va servir dans plusieurs parties du site à la fois. Et je ne veux pas la recopier partout. L'idée est donc, vous l'avez déjà compris, de se servir du principe des requêtes préparées pour utiliser cette requête partout, mais en changeant seulement la valeur du paramètre (lequel est retourné en $_POST[' ']).
J'ai donc fait ainsi :
Fichier header.php :
Code:
//on va chercher le titre du livre
$titre= "
SELECT
dico_posts.post_title AS titreModif
FROM
dico_posts
WHERE
dico_posts.ID= ?
";
Puis, dans le fichier contenu.php, j'ai cela :
Code:
$stmt = $dbh->prepare ($titre); /* On prépare la requête */
/**$id est retournée via un formulaire*/
$params = array(':titreModif' => $id);
/** On execute la requete */
$stmt->execute();
while($titreModif= $stmt->fetch(PDO::FETCH_OBJ))
{
$titreLivre=$titreModif->titreModif;
$titreLivre=mb_strtoupper($titreLivre);
echo '
'.$titreLivre.'
';
}
Ce qui me génère une superbe erreur :
Code:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /home/dossier/www/admin/parties/livre/contenu.php on line 14
Ce qui à son tour me laisse dire qu'au moins la requête est exécutée, mais le résultat est loin d'y être...
Est-ce une erreur de forme ou de fond ? Je pense que c'est la forme, parce qu'à moins de n'y avoir rien compris, on peut tout à fait déporter une requête dans un fichier séparé. Mais comme ici je mélange du pdo et des requêtes préparées, le résultat est de mauvais goût...
Merci d'avance pour vos lumières !
NB : le contenu de la variable $id est bel et bien retourné par le formulaire, j'ai testé.