mysql テーブルに格納する必要があるエスケープ文字を含む一連の正規表現があります。
バックスラッシュをエスケープしないと、削除されます。
mysql_real_escape_string、addslashes、str_replace を使用して PHP でバックスラッシュをエスケープしようとしましたが、データベースが単一のバックスラッシュではなく二重のバックスラッシュを格納するたびに。
また、bash で sed を使用してバックスラッシュをエスケープしようとしましたが、2 も出力されます。
例:
$regex = "stackoverflow\.com\/questions\/ask";
$query_text = addslashes($regex);
$query = "INSERT INTO my_table (url) VALUES ('$query_text')";
me@server:$ echo "select * from my_table" | mysql -uuser -Ddatabase -p'password'
stackoverflow\\.com\\/questions\\ask
私が間違っていることについてのアイデアはありますか?