-1

実際に扱う配列には約100〜150の値があるため、手動で行うのではなく、dbに挿入する前に引用符/特殊文字をエスケープしようとしています。mysql_real_escape_string() 関数の適用を誤っていますか?

$names  =  array(
"Intro",
"James Bond",
"M&M\'s",
"Who\'s Fault?",
"Started From Here,
"Don\'t Start",
"I\'m Still"
);

$i = 1;

foreach ($names as $inner_names => $value)
{
    mysql_real_escape_string($value);
    mysql_query("UPDATE MixtapeSongs 
                    SET SongName = '$value' 
                  WHERE MixtapeID = 524 AND 
                        TrackNumber = '$i'") 
    or die("Query could not be completed!");
    echo "#" . $i . " - " . $value . ".....was updated to the database!";
    $i++;
}

簡単な修正のようですが、問題が発生しています。どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

3

この関数は、参照渡しではなく、エスケープされた文字列を返すため、次のようにします。

$value = mysql_real_escape_string($value);

于 2013-08-12T16:50:50.057 に答える