sql >> データベース >  >> RDS >> Mysql

すべてのクエリにストアドプロシージャを使用しない理由はありますか?

    これは、あなたが誰に尋ねるかにもよるが、ほとんど宗教的な議論である。これらのタイプのケースでは、開発者とdbasが調整しなければならない微妙なバランスがあります。

    基本的に、あなたが本当にやりたいと思う考えは次のとおりです。

    PHPコードが動的SQLを使用している場合は、SQLインジェクション攻撃に対する保護を常に考慮する必要があります。データベースに入力する前に、入力をサニタイズする必要があります。

    PHPコードが動的SQLを使用しているが、慣例ではプリペアドステートメントを使用する場合は、ある程度安全ですが、プリペアドステートメントの使用方法に注意する必要があります。

    PHPコードがストアドプロシージャを使用している場合、SQLの制御の多くは開発者から削除され、開発者と協力してニーズを満たす適切なソリューションを提供するためにDBAに任されます。残念ながら、これは多くの時間と労力を引き起こし、開発/保守を行ったり来たりする可能性があります。

    それは灰色の領域であるものの1つであり、どちらも特定の観点からのものであるため、方程式のどちらの側が正しいかについて多くの考え方があります。



    1. 基準が満たされている場合は、列の合計を別の列の1つの日付に割り当てます

    2. CMS用のカスタムhtmlタグを作成しますか?

    3. php、mysql、jquery、ajaxを使用してdivスクロールにデータを動的にロードする

    4. SELECT LAST_INSERT_ID()は直接MySQLクエリで機能しますが、断続的にPHPクエリでは機能しません