2012-01-12 17 views
2

PHPからMySQLストアドプロシージャにidのリストを渡して、私がこのリストに参加できるようにしたいと考えています。私はSPに配列をcsvリストとして渡すことは望まないと知っていますが、ベストプラクティスが何をするのかは分かりません。PHPからMySQLストアドプロシージャに配列を渡す最も良い方法は何ですか?

は、SQL Serverでは、私はその後、SPに渡すと、これに参加しXMLオブジェクトを構築してきました。これはちょっと残酷な感じですが、実際にはこれが本当に良いアイデアかどうかは決して確かではありません。

は、PHPの配列でIDのリストによって取り、私が使用が参加することができますMySQLのSPにこれを渡すの簡単な、効率的な方法はありますか?

私はこの関連の質問を読みましたが、私が探していた答えを見つけることができます

Parameterize an SQL IN clause

私の問題を解決するだろう関連する質問はこの1つである: PHP Array as input to Stored Procedure

しかし、私は、PHP内でSQLコードを構築するのではなく、ストアドプロシージャを使用することを検討していました。

この場合、何がベストプラクティスですか?

答えて

0

は、クエリを構築し、prepared statementsを使用してそれを実行し、文字列パラメータとして配列を渡します。

+0

この回答を拡大することは可能ですか? csvとして配列を渡すと、sqlの外観はどうなりますか?あなたは '?'文字列に変換するか、またはCSVをSQL文字列に連結するだけですか? SQLインジェクションなど、このアプローチに懸念はありますか? – zod

+0

この例を見てください - http://buysql.com/mysql/39-pass-array-to-stored-procedure.html – Devart

関連する問題