ホームページ  >  記事  >  バックエンド開発  >  二重引用符と一重引用符を使用した PHP 操作の問題

二重引用符と一重引用符を使用した PHP 操作の問題

WBOY
WBOYオリジナル
2016-06-23 14:23:29969ブラウズ

PHP データベース

magic_quotes_gpc が有効になっていないため、データベースに挿入するとき、一重引用符と二重引用符が含まれるすべてのデータの前にバックスラッシュが付きます
これらのデータをクエリしてバックスラッシュを削除して更新したいのですが、テスト後に。いくつかの方法がありましたが、どれもうまくいきませんでした
$query = "SELECT id,title FROM  `test` WHERE  `title` LIKE  '%\'%' OR `title` LIKE  '%\"%'";$query = mysql_query($query);while($res =mysql_fetch_assoc($query)){    $title = stripslashes($res['title']);    $sql ="UPDATE `test` SET `title`={$title} WHERE id=$res['id']";    mysql_query($sql);}

ディスカッション (解決策) に返信

エスケープされたデータがデータベースに保存されるとき、エスケープ文字は保持されません
つまり、データベースから読み取られるとき、エスケープ文字は保持されませんデータにはエスケープ文字が含まれていません
再度データベースに入れたい場合は、再度エスケープする必要があります。

php の上位バージョンでは、magic_quotes_gpc スイッチがキャンセルされました
これは、データベースに入る前に特殊文字を自分で処理する必要があることを意味します

エスケープされたデータがデータベースに保存される場合、エスケープ文字は保持されません。
つまり、データベースから読み取られたデータにはエスケープ文字が含まれていません
再度データベースに入れたい場合は、再度エスケープする必要があります。

php の上位バージョンでは、magic_quotes_gpc スイッチがキャンセルされました
これは、データベースに入る前に特殊文字を自分で処理する必要があることを意味します

ただし、特殊文字を読み取るときにエスケープ文字があるため、データベースを読み取ることを考えました。処理するにはタイトルをクリックして更新してください。ありがとう!

まさか!
スクリーンショットを撮って確認できます


drupal を使用して構築したサイト

次に、\' と \" を一致させる必要があります

ソース コードをチェックして、それが一致しているかどうかを確認します

次に、\' と \ を一致させる必要があります"
これはクエリですか? その結果、mysql に付属の replace 関数を使用して置き換えました
UPDATE table_name SET col=REPLACE(col, '\', '')

にバックスラッシュを追加しましたか?データベースは意図的に追加されたものに違いありません。 。 。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。