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:

  1. utiliser le module DBI dans votre script perl

use DBI;

  1. 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";

  1. Connectez-vous à votre base de données

my $dbh = DBI->connect($dsn, $userid, $password);

  1. 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/;

  1. 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);

  1. 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

  1. Terminer et déconnecter la base de données

$sth->finish;

$dbh->disconnect();



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow