PHP+MySQLでエスケープされたデータを格納したい。
php.iniの設定でmagic_quotes_gpc = Offにして、
mysql_real_escape_stringで出力エスケープしたデータを
MySQLに格納するとバックスラッシュが格納されない。
エスケープされたデータを格納したいです。
php.iniの設定
---------------------------------------------------------
; Magic quotes for incoming GET/POST/Cookie data.
; magic_quotes_gpc = On
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off
---------------------------------------------------------
$_POST['us_fname']には「'user'」という文字列が格納されています。
---------------------------------------------------------
$clean['us_fname'] = $_POST['us_fname'];
$mysql['us_fname'] = mysql_real_escape_string($clean['us_fname']);
$sql = "insert into table
(
us_fname
)
values
(
'".$mysql['us_fname']."',
)
";
---------------------------------------------------------
echo $mysql['us_fname'];
で確認すると「\"user\" 」となっているんですが、
MySQLの中を確認すると「'user'」のままでシングルクォートがエスケープされていません。
お礼
どうもっっ!!