He utilizado la mysql_query() para hacer mis cosas pero ahora estoy cambiando a las declaraciones preparadas por dos razones:
rendimiento y ninguna inyección sql posibilidadPHP: declaraciones preparadas (novato), solo necesito confirmar esto sobre la inyección SQL
Así es como lo estoy usando:
function add_new_user($e_mail1,$username,$pass)
{
require_once "db.php";
$stmt = $mysqli->prepare("INSERT INTO un_users VALUES ('',?, ?,0,0,?,0)");
$stmt->bind_param('sss', $e_mail1, $username,$pass);
$stmt->execute();
$stmt->close();
}
no estoy sanitización las tres variables ($e_mail1,$username,$pass)
cuando he dejado pasar a la función o cualquier otra cosa.
¿Lo estoy haciendo de la forma correcta o me equivoqué o necesitaba hacer algo más? Soy un novato con esto (todavía revisando los documentos) así que siéntase libre de regar su conocimiento: D
¡Gracias!
Parece correcto, pero aún podría querer desinfectar la entrada un poco ... – tplaner
Las declaraciones preparadas se encargarán de la desinfección por usted. Eso sí, no impiden que los datos MALOS ingresen a la base de datos ... solo que los datos que estás utilizando no 'romperán' la consulta, por lo que causan un error de sintaxis o subvierten el propósito de la consulta. –
@evolve ¿Qué quieres decir con eso? – alex