Err... it looks like you did not properly sanitise your data, either on entry to the database, or when displaying it, or both. It is not that "special characters cause PHP to stop parsing", but that these characters may alter the meaning of say, some SQL statement, or more likely in your case, cause the web browser to interpret text values as HTML code.
So, use the appropriate escaping mechanism for your SQL queries, and then use [man]htmlspecialchars/man where appropriate for displaying text.