質問
PHPとZend MVCにDoctrine ORMを使用しています。 mysqlデータベースがあります。データベースに挿入すると、引用符がエスケープされます。他の言葉で私が入力するとき
<input name="customer_name" value="Test'ed user"> ...
フォームに追加し、Doctrineオブジェクトに割り当てて保存します。
mysqlコマンドラインでデータベースを見ると、次のようになります
Test\'ed user
これを無効にする方法はありますか、または各変数で stripslashes()
を呼び出す必要がありますか?
解決
php.iniを見るか、 get_magic_quotes_gpc()
を実行して、 magic_quotes_gpc
が有効になっていることを確認します。
php.iniにアクセスできる場合は、オフにします。それ以外の場合は、 stripslashes()
を使用してスクリプトのスラッシュを削除する必要があります。
他のヒント
magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
if(get_magic_quotes_gpc()) {
if(!function_exists('stripishlashes_all')) {
function stripslashes_all(&$data) {
foreach($data as & magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
<*>
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。
value) {
if(is_array( magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
<*>
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。
value)) {
stripslashes_all( magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
<*>
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。
value);
}
else {
magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
<*>
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。
value = stripslashes( magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
<*>
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。
value);
}
}
}
}
stripslashes_all( magic_quotes_gpc
の問題を完全に回避するには、ページの上部に次のようなものを追加します。
<*>
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。
REQUEST);
}
コードをサーバーで実行している場合、完全に制御できない場合、またはコードを配布する予定がある場合に非常に便利です。