2012-01-12 102 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

相关问题