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, '\', '')
にバックスラッシュを追加しましたか?データベースは意図的に追加されたものに違いありません。 。 。