Ma première requête préparée (ne) fonctionne (pas)

Alorsladaccord

WRInaute occasionnel
Bien entendu.

Bonjour !

Bon alors, je me lance dans l'aventure des requête préparées, puisque mes anciennes compétences en mysql sont désormais obsolètes.
Et bien entendu, ma première requête préparée ne fonctionne pas. Le contraire m'aurait déçu.

Le but est simple, il s'agit bêtement d'afficher des articles par ordre alphabétique, en fonction d'une lettre retournée par l'URL, ici pour l'heure une seule, arbitrairement la lettre G.

Mon code d'la mort, si vous voulez bien y jeter un oeil..

Code:
$pdo = new PDO('mysql:host=localhost;dbname=article7_dico1','article7_jero', 'SD_I~nq,[n,');   

$lettre = 'g';

/** on définit la requete sql */
$sql = "SELECT field_9 FROM cms_custom_database_0
WHERE field_12 LIKE CONCAT(:A, '%')
";

/* On prépare la requête */
$stmt = $dbh->prepare ($sql);

/** On prépare les paramètres */
$params = array('A' => $lettre);

/** On execute la requete */
$stmt->execute($params);

while($lettre=$params = $stmt->fetch(PDO::FETCH_OBJ))
{

echo "<b>".$lettre->field_9."</b>";

}

Et j'obtiens donc ce très mélodieux poème :
Code:
Fatal error: Call to a member function prepare() on a non-object in /home1/article7/public_html/applications/cms/sources/Blocks/Block.php(195) : eval()'d code on line 12

Notez que dans un premier temps, il n'est pas question de sécurisation, etc... Je voudrais juste voir la magie opérer et l'article souhaité s'afficher...
Vos explications sont donc très attendues.

Merci d'avance !
 

Alorsladaccord

WRInaute occasionnel
Ta réponse m'interpelle, cher spout. J'ai l'impression que je suis sur le point de découvrir un univers parallèle.

J'ai envie de répondre benoîtement "ici" :
Code:
/* On prépare la requête */
$stmt = $dbh->prepare ($sql);

Le $dbh serait-il un synonyme de $pdo ?
 

Alorsladaccord

WRInaute occasionnel
Ah ah ah oui, ça fonctionne !

J'ai eu subitement une illumination soudaine et j'ai remplacé intuitivement $pdo par $dbh et j'ai réussi !
Eh eh eh ! Ne tenez point compte de l'intervention du susnommé spout, c'est un importun.
 

Marie-Aude

WRInaute accro
Tu charries de traiter d'importun celui qui a pointé que tu utilisais une variable non définie et donc que ça ne pouvait pas marcher :)
 

Discussions similaires

Haut