Claro, puede protegerse contra la inyección con mysql_real_escape_string($postID)
, siempre que no le importe una consulta cada vez que llame a la función.
PDO y MySQLi brindan mucho más que solo protección de inyección. Permiten declaraciones preparadas que pueden proteger contra la inyección sin múltiples llamadas a la base de datos. Esto significa un rendimiento general más rápido. Imagine intentar insertar en una tabla un registro de usuario con 30 columnas... eso es mucho mysql_real_escape_string()
llamadas.
Las declaraciones preparadas envían todos los datos a la vez junto con la consulta y los escapan al servidor en una sola solicitud. Las declaraciones preparadas de soporte de Mysql DB, las antiguas bibliotecas php mysql_ no las admiten.
Es hora de pasar a mysqli o, preferiblemente, a PDO:nunca mirará hacia atrás.