我想用數組形式的參數使用簡單的MySQL插入查詢。它一直告訴我參數的數量是錯誤的。我曾嘗試以下,所有生產的同樣的錯誤:PDO錯誤:「無效的參數號:參數未定義」
$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']));
以及聲明的列特地避開了空的insert:
$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(),所以從這個角度來看任何洞察力都是值得讚賞的。
哦,我的上帝。我現在恨自己。我不敢相信我盯着這裏一個半小時,並沒有看到它...... – Morgan
花了我幾分鐘。有時你只需要新鮮的眼睛,這就是我們在這裏;-) – DaveRandom
hehehe +1爲新鮮的眼睛!尼斯趕上戴夫 – Adi