AOP d'Erreur: “ Invalid parameter number: parameter n'a pas été définie”

Je suis en train d'utiliser un simple MySQL requête d'insertion avec les paramètres de la matrice de la forme. Il continue à me dire le nombre de paramètres sont mauvais. J'ai essayé ce qui suit, tous les producteurs de la même erreur:

$stmt3 = $link->prepare('INSERT INTO messages VALUES(null, :room, :name, :message, :time, :color)');
$stmt3->execute(array(':room' => $Clean['room'],':name' => $Clean['name'],':message' => $Clean['message'],':time' => $time,':color:' => $Clean['color']));

et

$stmt3 = $link->prepare('INSERT INTO messages VALUES(:null, :room, :name, :message, :time, :color)');
$stmt3->execute(array(':null' => null, ':room' => $Clean['room'],':name' => $Clean['name'],':message' => $Clean['message'],':time' => $time,':color:' => $Clean['color']));

ainsi que de déclarer les colonnes précisément à éviter l'insertion null:

$stmt3 = $link->prepare('INSERT INTO messages (room, name, message, time, color) VALUES(:room, :name, :message, :time, :color)');
$stmt3->execute(array(':room' => $Clean['room'],':name' => $Clean['name'],':message' => $Clean['message'],':time' => $time,':color:' => $Clean['color']));

C'est ma première fois en utilisant PDO (j'ai l'habitude d'utiliser mysqli, mais mon partagés actuel hôte n'a pas le plugin mysqlnd, m'empêchant d'utiliser prepare(), de sorte que toute la perspicacité de ce point de vue est apprécié.

OriginalL'auteur Morgan | 2012-06-15