Cette syntaxe est incorrecte:
$q->execute(array('pseudo' => strtolower($this->pseudo)));
Il faut préfixer les clés du tableau de remplacement avec :
Donc
$q->execute(array(':pseudo' => strtolower($this->pseudo)));
Normalement tu as dû ramasser une erreur.
Voici comment préparer et exécuter des requêtes sereinement avec PDO:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
function get_message (PDO $pdo, $pseudo, $fetch_mode = PDO::FETCH_ASSOC, $silent = false) {
$query = "SELECT * FROM `mp` WHERE LOWER(`pseudo`)=:pseudo";
$statement = $pdo->prepare($query);
if ($statement->execute(array(':pseudo' => $pseudo)) {
return $statement->fetchAll($fetch_mode);
}
if (!$silent) {
$err = $pdo->errorInfo();
trigger_error("Error With [{$query}] : [{$err[2]}]");
}
return false;
} |
Vu que c'est une méthode, je voudrais bien voir ta classe histoire de te donner quelques conseils.
Partager