Problème PDO pour afficher le contenu d'une requête située dans un autre fichier

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Alorsladaccord
WRInaute impliqué
WRInaute impliqué
 
Messages: 505
Enregistré le: 30 Juil 2014

Problème PDO pour afficher le contenu d'une requête située dans un autre fichier

Message le Ven Mar 10, 2017 19:17

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 :
Code: Tout sélectionner
//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: Tout sélectionner
$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: Tout sélectionner
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /home/dossier/www/admin/parties/livre/contenu.php on line 14

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é.

Louis63
WRInaute discret
WRInaute discret
 
Messages: 112
Enregistré le: 22 Fév 2016

Re: Problème PDO pour afficher le contenu d'une requête située dans un autre fichier

Message le Ven Mar 10, 2017 20:16

tu créés cette variable $params mais tu ne t"en serts pas ensuite...

Alorsladaccord
WRInaute impliqué
WRInaute impliqué
 
Messages: 505
Enregistré le: 30 Juil 2014

Re: Problème PDO pour afficher le contenu d'une requête située dans un autre fichier

Message le Sam Mar 11, 2017 14:09

Salut Louis63, merci pour ta réponse.

Peut-être que je ne m'en sers pas, mais pourtant, je crois m'en servir.
Tu fais allusion à cette ligne :
$params = array(':titreModif' => $id);

Or dans la requête, j'ai ceci :
WHERE
dico_posts.ID= ?

Ce point d'interrogation ne signifie-t'il pas à la requête d'utiliser la valeur $id passée en paramètre de $param ?


spout
WRInaute accro
WRInaute accro
 
Messages: 8335
Enregistré le: 14 Mai 2003

Re: Problème PDO pour afficher le contenu d'une requête située dans un autre fichier

Message le Sam Mar 11, 2017 16:54


Alorsladaccord
WRInaute impliqué
WRInaute impliqué
 
Messages: 505
Enregistré le: 30 Juil 2014

Re: Problème PDO pour afficher le contenu d'une requête située dans un autre fichier

Message le Sam Mar 11, 2017 18:06

Ah, je dois bosser sur un autre morceau du script,là.

Je reviens sur ça dans quelques jours, j'espère que vous serez là.


NB Je n'utilise presque jamais le manuel PHP, ce sont des cas théoriques, il faut déjà avoir tout compris pour les comprendre...
Ca ne m'a jamais aidé en rien.


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :