Du bör undvika var och en av dessa strängar (i båda utdragen) med mysql_real_escape_string() .
https://us3.php.net/mysql-real-escape-string a>
Anledningen till att dina två frågor beter sig olika är troligen att du har magic_quotes_gpc påslagen (vilket du bör veta är en dålig idé). Det betyder att strängar som samlats in från $_GET, $_POST och $_COOKIES escapes åt dig (dvs. "O'Brien" -> "O\'Brien" ).
När du väl lagrar data och sedan hämtar den igen, kommer strängen du får tillbaka från databasen inte flys automatiskt åt dig. Du får tillbaka "O'Brien" . Så du måste skicka den genom mysql_real_escape_string() .