ccc

Silex Formularios evitar la SQL Injection

$app->match('/post_my_form', function(Request $request) use ($app) {
    $arr = $request->request->all();
    $encoder = new MessageDigestPasswordEncoder();
    $pw_encoded = $encoder->encodePassword($arr["pw"], '');
 
    $sql = "INSERT INTO usuarios(username,email,password) VALUES (?,?,?)";
    $post = $app['db']->executeUpdate($sql, array(
        (string) $arr["username"],
        (string) $arr["email"],
        (string) $pw_encoded
        )
    );
});

// Otro ejemplo con diferentes tipos de campo:

$sql = "insert into hist_user_compra(id_user, id_empresa, prec_apertura_compra, fecha_apertura_compra, volumen) values (?,?,?,?,?)";
$resp = $app['db']->executeUpdate($sql, array(
   (int) $arrParams["id_user"],
   (int) $arrParams["id_empresa"],
   (float) $arrParams["prec_apertura_compra"],
   (string) $arrParams["fecha_apertura_compra"],
   (int) $arrParams["volumen"]
));


Si se quisiere hacer un select:
select * from mi tabla where id_user = ? and id_provincia = ?
$arrReg = $app['db']->fetchAll($sql, array(
            (int) $id_user,
            (int) $id_provincia
        ));

No hay comentarios:

Publicar un comentario