Je zou aan elk van deze strings (in beide fragmenten) moeten ontsnappen met mysql_real_escape_string()
.
http://us3.php.net/mysql-real-escape-string
De reden dat uw twee zoekopdrachten zich anders gedragen, is waarschijnlijk omdat u magic_quotes_gpc
heeft ingeschakeld (waarvan u moet weten dat dit een slecht idee is). Dit betekent dat strings die zijn verzameld van $_GET, $_POST en $_COOKIES voor u worden geëscaped (d.w.z. "O'Brien" -> "O\'Brien"
).
Zodra u de gegevens opslaat en vervolgens weer ophaalt, zal de string die u terugkrijgt uit de database niet automatisch voor u worden ontsnapt. Je krijgt "O'Brien"
terug . Je moet het dus door mysql_real_escape_string()
sturen .