Du bør undslippe hver af disse strenge (i begge uddrag) med mysql_real_escape_string()
.
http://us3.php.net/mysql-real-escape-string a>
Grunden til, at dine to forespørgsler opfører sig forskelligt, er sandsynligvis, fordi du har magic_quotes_gpc
tændt (hvilket du skal vide er en dårlig idé). Dette betyder, at strenge indsamlet fra $_GET, $_POST og $_COOKIES escapes for dig (dvs. "O'Brien" -> "O\'Brien"
).
Når du først gemmer dataene og efterfølgende henter dem igen, vil den streng, du får tilbage fra databasen, ikke automatisk undslippet for dig. Du får "O'Brien"
tilbage . Så du bliver nødt til at sende det gennem mysql_real_escape_string()
.