Estoy usando nombres de tablas poco comunes, aunque reconozco que he caido en llamar password al campo de las password

. Lo de los errores a mi siempre me sale un escueto "mysql_error".
Para validar los datos estoy usando una funcion "comillas_inteligentes" que encontre en la página de PHP.
Código PHP:
<?php
// Aplicar comillas sobre la variable para hacerla segura
function comillas_inteligentes($valor)
{
// Retirar las barras
if (get_magic_quotes_gpc()) {
$valor = stripslashes($valor);
}
// Colocar comillas si no es entero
if (!is_numeric($valor)) {
$valor = "'" . mysql_real_escape_string($valor) . "'";
}
return $valor;
}
// Conexion
$enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contrasenya')
OR die(mysql_error());
// Realizar una consulta segura
$consulta = sprintf("SELECT * FROM usuarios WHERE usuario=%s AND password=%s",
comillas_inteligentes($_POST['username']),
comillas_inteligentes($_POST['password']));
mysql_query($consulta);
?>
¿Alguno la ha usado? Como yo no se injectar desconozco si es realmente eficaz o no.