Du bør undslippe hver af disse strenge (i begge uddrag) med mysql_real_escape_string() .
https://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() .