編輯:事實證明,我一直在吠叫錯了樹,所以 說話。我編輯了這個問題,至少可以幫助其他 誰出錯。定製PDO類錯誤
所有這些誰在嘗試執行準備的PDO查詢時出現以下錯誤:
警告:PDOStatement對象::執行()[pdostatement.execute]: SQLSTATE [HY093]:無效參數編號:參數未定義 on line 26
請參閱下面的答案。
編輯:事實證明,我一直在吠叫錯了樹,所以 說話。我編輯了這個問題,至少可以幫助其他 誰出錯。定製PDO類錯誤
所有這些誰在嘗試執行準備的PDO查詢時出現以下錯誤:
警告:PDOStatement對象::執行()[pdostatement.execute]: SQLSTATE [HY093]:無效參數編號:參數未定義 on line 26
請參閱下面的答案。
這意味着您在$query->execture($array)
中傳遞的查詢中的數組值超過:values
。如果您收到類似但措辭不同的錯誤,則意味着您在查詢中的查詢數量多於您在數組中的:values
。例如:
$array = array(
'username' => 'Bob',
'id' => 42,
);
//...
$query = "SELECT * FROM `users` WHERE `id`=:id";
//...
$data->execute($array);
這會產生錯誤,因爲雖然您傳遞「用戶名」,但它在查詢中從不使用。希望這可以幫助別人!
其實它是可選的。 – 2012-08-11 13:03:36
爲什麼人們似乎覺得OO DB驅動程序需要包裝類?他們已經*是班級。如果你必須改變他們的工作方式,*擴展他們而不是包裝他們的東西。哪一行是第26行? – DaveRandom 2012-08-08 15:47:32
另請不要忽略大括號。它只會傷害可讀性。 – PeeHaa 2012-08-08 15:49:10
@PeeHaa無論哪種方式。我從來沒有在傳遞給'execute()'的鍵中使用前導':'s。 – DaveRandom 2012-08-08 15:49:31