ホームページ >バックエンド開発 >PHPチュートリアル >php+mysqlでエスケープせずにコンテンツを保存する方法
SQL を使用せずに、php+mysql を使用してデータベースにレコードを保存または更新する方法はあるのでしょうか。 、コンテンツに特殊文字が含まれていると考えてください。または、SQL インジェクションをエスケープして保存する必要があります。エスケープせずにそのまま保存する方法はありますか (SQL インジェクションの脆弱性はありません)
Mysql はエスケープを保存し、アンチエスケープの読み取りは自動的に行われます。
mysql_real_escape_string();
一重引用符で囲まれた文字列内の単一引用符はあいまいさを引き起こすため、エスケープ文字「'」が必要です
他のコンテンツを処理する必要があるかどうかについては、完全に処理されますビジネス ニーズに応じて異なります
一重引用符、二重引用符、バックスラッシュ、および null はエスケープする必要があります。エスケープしないとSQL実行時にあいまいさが発生する可能性があります。
保存するときはアッドスラッシュを使用してエスケープし、コンテンツを取り出すときはストリップスラッシュを使用して逆エスケープします。
良い質問ですね。エスケープに関する混乱を解決しました
初心者の頃は mysql_real_escape_string の読み取りとアンチエスケープが自動的に行われることを知らなかったので、テスト後にようやく知りました。
ローカルでテストしましたが、顧客の仮想ホスト空間では動作しないとは知りませんでした。読み取り時に自動的にエスケープされません。
宇宙テスト送信内容:
ini 設定が違う