あなたは正しいです。
魔法の引用符はSQLのものとは関係がなく、それに接続するべきではありません。
魔法の引用符はサイト全体の問題であり、SQLのエスケープはSQLのみに関連する問題であるためです。
したがって、それらは異なる治療を必要とし、決して併用されるべきではありません。
SQLだけでなく、サイトのすべてのデータ操作を台無しにするため、無条件に魔法の引用符を取り除く必要があります。
したがって、スクリプトのすべての呼び出しで実行されるブートストラップファイルにいくつかのストリップスラッシュコードを配置するのが賢明です。このようなコードの多数の実装で見つけることができるコードは、「stripslashes_deep」関数をグーグルで検索するだけです。
互換性のために、魔法の引用符の実際の状態に関係なく、このコードを常に実行することをお勧めします(もちろん、get_magic_quotes_gpc()をチェックする条件の下で)。
ただし、これらをオフにする別の可能性があります。アプリケーションのルートにphp.iniファイルを作成してみてください。
ただし、コードには重大な間違いがあります。実際、それは何も保護しません。
あなたは$memberid
をエスケープしています および$postid
ただし、引用しないでください! 。したがって、保護はまったくありません。エスケープが機能するのは、引用と一緒に使用した場合のみです。
覚えておいてください:
エスケープはセキュリティの同義語ではありません!
一人で逃げることは何の助けにもなりません。従うべき一連のルールがあります。
私は最近まともな説明を書いたので、繰り返しません:mysql_*関数をPDOおよびプリペアドステートメントに置き換える