Perl Language
Interaction simple avec la base de données via le module DBI
Recherche…
Paramètres
Colonne | Colonne |
---|---|
$driver | Pilote pour DB, "Pg" pour Postgresql et "mysql" pour MySQL |
$database | le nom de votre base de données |
$userid | votre identifiant de base de données |
$password | votre mot de passe de base de données |
$query | mettez votre requête ici, ex: "select * from $ your_table" |
Module DBI
Vous devez vous assurer que le module DBI a été installé sur votre PC, puis suivez les étapes ci-dessous:
- utiliser le module DBI dans votre script perl
use DBI;
- Déclarez certains paramètres primaires
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";
- Connectez-vous à votre base de données
my $dbh = DBI->connect($dsn, $userid, $password);
- Préparez votre requête
my $query = $dbh->prepare("Your DB query");
Ex:
$my_query = qq/SELECT * FROM table WHERE column1 = 2/;
my $query = $dbh->prepare($my_query);
Nous pouvons également utiliser la variable dans la requête, comme ci-dessous:
my $table_name = "table";
my $filter_value = 2;
$my_query = qq/SELECT * FROM $table_name WHERE column1 = $filter_value/;
- Exécutez votre requête
$query->execute();
* Remarque: Pour éviter une attaque par injection, vous devez utiliser des espaces réservés ?
au lieu de mettre votre variable dans la requête.
Ex: vous voulez afficher toutes les données de 'table' où column1 = $ value1 et column2 = $ value2:
my $query = $dbh->prepare("SELECT * FROM table WHERE column1 = ? AND column2 = ?;");
$query->execute($value1, $value2);
- Fletch vos données
my @row = $query->fetchrow_array();
stocker des données sous forme de tableau
ou
my $ref = $sth->fetchrow_hashref();
stocker des données en tant que référence de hachage
- Terminer et déconnecter la base de données
$sth->finish;
$dbh->disconnect();