Sök…


parametrar

Kolumn Kolumn
$driver Driver för DB, "Pg" för Postgresql och "mysql" för MySQL
$database ditt databasnamn
$userid ditt databas-id
$password ditt databaslösenord
$query lägg din fråga här, ex: "välj * från $ din_tabell"

DBI-modul

Du bör se till att modulen DBI har installerats på din dator och följ sedan bälgstegen:

  1. använd DBI-modulen i ditt perl-skript

use DBI;

  1. Förklara några primära parametrar

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. Anslut till din databas

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

  1. Förbered din fråga

my $query = $dbh->prepare("Your DB query");

Ex:

$my_query = qq/SELECT * FROM table WHERE column1 = 2/;

my $query = $dbh->prepare($my_query);

Vi kan också använda variabel i frågan, som nedan:

my $table_name = "table";

my $filter_value = 2;

$my_query = qq/SELECT * FROM $table_name WHERE column1 = $filter_value/;

  1. Kör din fråga

$query->execute();

* Obs: För att undvika injektionsattacker bör du använda platshållare ? istället för att sätta din variabel i frågan.

Ex: du vill visa alla data från 'tabell' där kolumn1 = $ värde1 och kolumn2 = $ värde2:

my $query = $dbh->prepare("SELECT * FROM table WHERE column1 = ? AND column2 = ?;");

$query->execute($value1, $value2);

  1. Fletch dina data

my @row = $query->fetchrow_array(); lagra data som array

eller

my $ref = $sth->fetchrow_hashref(); lagra data som hashreferens

  1. Slutför och koppla bort DB

$sth->finish;

$dbh->disconnect();



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow