Semplice soluzione da manuale:
per inserire stringhe nel DB usare la funzione mysql_escape_string(), per stamparle a video htmlentities() o htmlspecialchars() o qualcosa di equivalente che converta i caratteri dannosi per la marcatura.

Codice PHP:
// Inserimento stringhe nel DB:
$query "INSERT INTO tbl (name, city)
VALUES ('"
.mysql_escape_string($name)."', '".mysql_escape_string($city)."')";

// Stampa stringhe con caratteri speciali:
while ($row mysql_fetch_array($result)) {
     echo 
"<div>name: ".htmlentities($row['name'])."</div>
     <div>city: "
.htmlentities($row['city'])."</div>\n";