well parameterised queries would be preferable.
Yes, you can use that, if you're using MySQL.
But you really need to understand the importance of a consistent and thorough escaping / validation framework for use throughout your application.
When outputting stuff to the browser, you should use htmlspecialchars() to escape entities appropriately. This causes characters like & to come out correctly and prevents XSS vulnerabilities.
When putting stuff into the database, you should do so in a fashion that is not vulnerable to SQL injection - by far the best way is not to put your parameters into SQL at all, i.e. using parameterised queries. A poor second is to use the escaping function - but it needs to be used CAREFULLY.
There are other cases where other forms of escaping are necessary, for example, inside Javascript code or inside URLs, but they are less common.
What you really need to do is have a consistent approach easily applied across your application, during initial development.
Personally I'd use Smarty for presentation and set the default modifier to be escape, and use parameterised queries with PDO.
Mark