配列形式のパラメーターを使用して、単純なMySQL挿入クエリを使用しようとしています。パラメータの数が間違っていると言われ続けます。私は次のことを試しましたが、すべて同じエラーが発生します。
$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']));
と
$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']));
ヌル挿入を回避するために列を明確に宣言するだけでなく、次のようになります。
$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']));
PDOを使用するのはこれが初めてです(通常はmysqliを使用しますが、現在の共有ホストにはmysqlndプラグインがないため、prepare()を使用できません。そのため、その観点からの洞察をいただければ幸いです。