2015-09-29 84 views
-1

我想我已經閱讀了許多關於該問題的主題,但仍然得到了錯誤的結果。 我有一個查詢參數數組,我想循環與foreach()綁定參數。PDO foreach循環bindParam與參考返回錯誤的結果

foreach($aQueryParams as $key => &$value){ 
    $stmt->bindParam($key, $value); 
} 

這涉及到一個INSERT查詢和我所得到的結果是插在我的表,而不是價值的關鍵。但我相信,關鍵和價值是好的,在好的地方。 A var_dump()$key$value上給出:firstName$keySamy&$value。但這是插入我的表:firstName ...

而且我也嘗試與bindValue沒有使用引用,它是相同的結果。

爲了更清楚,我給你的gitHub存儲庫的鏈接。您可以在第44行看到ClientManager.class.php中參數數組的聲明,以及foreach()循環在第97行的DBOperation.class.php中綁定參數。 https://github.com/code-climber/car_rental/blob/preparedStmt/src/car_rental/model/dao/ClientManager.class.php

我生氣了這個。

+0

由於我看不到剩下的代碼,我假設它是這樣的副本:http://stackoverflow.com/questions/3307409/php-pass-by-reference-in-foreach。如果不是的話,你究竟想用參考書來完成什麼? – Mike

+0

爲什麼不把參數與'execute()'中的數組綁定?我個人覺得這很麻煩。 – Rasclatt

+0

邁克,我不認爲它是重複的,因爲我只有一個foreach()循環。我想要完成的事情很簡單。我的參數數組像':login'=>'Samy',並且我想在表中插入'Samy',這個值,但現在,這是':login',它是插入的鍵。 Rasclatt,你可以舉一個例子,因爲現在,我總是看到人們在execute()之外綁定參數。我用這個代碼的gitHub鏈接編輯我的文章。 –

回答

0

好的,我終於發現有什麼不對。這是我的SQL查詢。我已經在每個參數VALUES附近引用了一些引號。 因爲我沒有錯誤信息,所以我只專注於對我而言最新的東西,即bindParam()上的循環。

我發現主持人對於我的問題的清晰度有點嚴重,因爲我真的閱讀了所有我可以參考的內容......它不是重複的。錯誤在別處。