Perl Language
Interacción simple con la base de datos a través del módulo DBI.
Buscar..
Parámetros
Columna | Columna |
---|---|
$driver | Controlador para DB, "Pg" para Postgresql y "mysql" para MySQL |
$database | el nombre de su base de datos |
$userid | su ID de base de datos |
$password | su contraseña de base de datos |
$query | ponga su consulta aquí, por ejemplo: "select * from $ your_table" |
Módulo DBI
Debe asegurarse de que el módulo DBI se haya instalado en su PC, luego siga los siguientes pasos:
- Usa el módulo DBI en tu script perl
use DBI;
- Declarar algunos parámetros primarios.
my $driver = "MyDriver";
my $database = "DB_name";
my $dsn = "DBI:$driver:dbname=$database";
my $userid = "your_user_ID";
my $password = "your_password";
my $tablename = "your_table";
- Conéctate a tu base de datos
my $dbh = DBI->connect($dsn, $userid, $password);
- Prepara tu consulta
my $query = $dbh->prepare("Your DB query");
Ex:
$my_query = qq/SELECT * FROM table WHERE column1 = 2/;
my $query = $dbh->prepare($my_query);
También podemos usar variable en la consulta, como a continuación:
my $table_name = "table";
my $filter_value = 2;
$my_query = qq/SELECT * FROM $table_name WHERE column1 = $filter_value/;
- Ejecuta tu consulta
$query->execute();
* Nota: Para evitar un ataque por inyección, debes usar marcadores de posición ?
En lugar de poner tu variable en la consulta.
Ejemplo: desea mostrar todos los datos de la "tabla" donde column1 = $ value1 y column2 = $ value2:
my $query = $dbh->prepare("SELECT * FROM table WHERE column1 = ? AND column2 = ?;");
$query->execute($value1, $value2);
- Fletch sus datos
my @row = $query->fetchrow_array();
almacenar datos como matriz
o
my $ref = $sth->fetchrow_hashref();
almacenar datos como referencia hash
- Terminar y desconectar DB
$sth->finish;
$dbh->disconnect();