Para evitar la injección en SQL utilizo esta función:
Código PHP:
<?php
function limpiar_sql($value){
$value = trim(htmlentities($value)); // Evita introducción código HTML
if (get_magic_quotes_gpc()) $value = stripslashes($value);
$value = mysql_real_escape_string($value);
return $value;
}
?>
Puedes ver una expicación de su uso en:
http://www.innovacionweb.com/seguidad-inyeccion-sql.php
De todas formas en PHP5 ya existe PDO (http://es.php.net/pdo) que mejora mucho la seguiridad en el uso de bases de datos.
Un saludo