この記事では、PHP の addcslashes 関数とstripcslashes 関数の使用法を例とともに分析します。参考のために皆さんと共有してください。詳細は次のとおりです:
英語版のWebサイトを作成する際、書き終わってから英語の情報を入力していましたが、何気なく入力したときは全く問題なかったのですが、指定された内容を入力するたびに入力できなくなりました。入力してもエラーは報告されませんでした。データベースを確認したところ、このフィールドには「TEXT」データ型が使用されていたため、内容が長すぎるためだと思いましたが、データ型を「longtext」に変更しました。送信したところ、同じ問題が依然として発生することがわかりました。 addcslashes 関数を紹介しましょう!
その後、同僚にアドバイスを求めたところ、英語に句読点「'」が入っている理由は、MySQL がここでステートメントを実行すると自動的に終了したとみなしてしまうため、句読点を追加できないことがわかりました。問題が見つかったので、対応する解決策を見つける必要があります。それは、テキスト コンテンツ内のすべての "'" の前にエスケープ文字 "" を追加することです。たまたま、PHP にはエスケープ文字を自動的に追加または削除する機能が備わっています。文字列からの関数は addcslashes とtripcslashes なので、テストを追加した後、問題は解決しました。平日にプログラムを作成するときは、ハッカーがこれらの詳細を発見しても、常に無視していることがわかります。問題とそれを悪用した場合、Web サイトは基本的に終わりです。したがって、誰もがこれを警告として受け取り、私と同じ間違いを犯さないようにしてください。
以下は、これら 2 つの関数の使用法を簡単に紹介します:
string addcslashes(string str,string charlist)
最初のパラメータ str は、失われたオブジェクトの元の文字列です
2 番目のパラメータ charlist は、元の文字列のどの文字の前に文字 "" を付ける必要があるかを指定します。
文字列ストリップスラッシュ(文字列str)
文字列から「」を削除します。
さらに、addslashes 関数を使用して「'」を直接エスケープすることもできます。
例は次のとおりです:
リーリー実行結果は以下の通りです:
リーリーこの記事が PHP プログラミングのすべての人に役立つことを願っています。