在我即將完成的項目中,我編寫並實現了一個用於PHP的對象關係映射解決方案。在懷疑者和夢想家喊出「如何在地球上?」之前,放鬆一下 - 我還沒有找到一種方法來做出靜態的靜態綁定工作 - 我只是儘可能以最好的方式解決它。PHP + MYSQLI:使用預處理語句的可變參數/結果綁定
無論如何,我目前沒有使用預處理語句進行查詢,因爲我無法想出一個辦法可變數量的參數傳遞給bind_params()
或bind_result()
方法。
爲什麼我需要支持可變數量的參數,你問?因爲我的模型的超類(將我的解決方案想象成一個被破解的PHP ActiveRecord想像者)是定義查詢的地方,例如find()方法不知道它需要綁定多少個參數。
現在,我已經想過創建一個參數列表並將一個字符串傳遞給eval(),但我不太喜歡這個解決方案 - 我寧願只實現我自己的安全檢查並傳遞聲明。
有沒有人有關於如何完成這項工作的建議(或成功案例)?如果你能幫我解決這個第一個問題,或許我們可以解決綁定結果集的問題(如果涉及初始查詢來確定表結構,我懷疑會更困難,或者至少會佔用更多的資源)。
我認爲函數名應該是`bind_param`而不是`bindparams`。至少在我的`mysqli`版本中,我使用它輸入`$ stmt-> bind_param()`,而不是`$ stmt-> bindparams()`。乾杯! – 2014-01-03 11:33:00