2012-01-12 119 views
2

我正在尋找將PHP的ID列表傳遞給MySQL存儲過程,以便我可以加入這個列表。我知道我不想將數組作爲csv列表傳遞給SP,但我不確定最佳做法。從PHP傳遞數組到MySQL存儲過程的最佳方式是什麼?

在SQL Server我已經建立了一個XML對象,然後我傳遞給SP,加入到這一點。這似乎有點像矯枉過正,我從來不確定這實際上是一個好主意。

有沒有在PHP採取由商ID列表中的數組,並通過這到MySQL SP,我可以在使用加入一個簡單,有效的方法?

我已經通過此相關的問題看,但還沒有找到我一直在尋找的答案: Parameterize an SQL IN clause

,將解決我的問題一個相關的問題,這是一個: PHP Array as input to Stored Procedure

但我正在尋找使用存儲過程,而不是在PHP中構建SQL代碼。

在這種情況下最好的做法是什麼?

回答

0

傳遞數組作爲字符串參數,然後構造一個查詢並使用prepared statements運行它。

+0

是否可以擴大這個答案。如果您將數組作爲csv傳遞,那麼sql會是什麼樣子?你會用'?'嗎?字符,或只是concat csv到sql字符串?有沒有這種方法的任何擔憂,如SQL注入? – zod 2012-05-08 15:23:35

+0

看看這個例子 - http://buysql.com/mysql/39-pass-array-to-stored-procedure.html – Devart 2012-05-11 07:58:31

相關問題