2011-06-22 8 views
-1

私が間違っている場合は間違いを修正しますが、mysql_real_escape_stringは( ')や( ")のような文字の前にエスケープ文字を配置すると考えました。私はphpMyAdminを見たときに、上記の文字の前にバックスラッシュで作成された新しいレコードを見て期待していたが、エスケープ文字は存在しない。mysql_real_escape_stringがエスケープ文字を配置していない

$text   = mysql_real_escape_string($_POST['text']); 
$detailedText   = mysql_real_escape_string($_POST['detailedText']); 
$type   = mysql_real_escape_string($_POST['type']); 
$image   = mysql_real_escape_string($_POST['image']); 
?> 
<script> alert("<?php echo $text ?>");</script> 

<?php 
    $result = mysql_query(
     "INSERT INTO nodes (text, detailedText, type, image) 
     VALUES ('". $text . "','" . $detailedText . "','" . $type . "','" . $image . "')"); 
    mysql_close($conn); 
?> 
+0

に格納されていませんエスケープされていません – Ibu

答えて

2

をこれらのエスケープ文字をmysql_real_escape_stringのでは、それため、データベース

+0

アラートプロンプトでも表示されません。私は警告のプロンプトでそれらを参照してください? –

+2

@ JohnR:バックスラッシュはJavaScriptでもエスケープ文字です:)だからあなたはアラートでそれらを見ることはできません。ソースコードを見てみると、それらが表示されます。 –

+0

@Wesley Murch、私はソースコードで、チップのおかげでそれらを参照してください。 –

関連する問題