Perl Language
Einfache Interaktion mit der Datenbank über DBI-Modul
Suche…
Parameter
Säule | Säule |
---|---|
$driver | Treiber für DB, "Pg" für Postgresql und "MySQL" für MySQL |
$database | Ihr Datenbankname |
$userid | Ihre Datenbank-ID |
$password | Ihr Datenbankkennwort |
$query | Geben Sie Ihre Suchanfrage hier ein, zB: "select * from $ your_table" |
DBI-Modul
Sie sollten sicherstellen, dass das Modul DBI auf Ihrem PC installiert ist, und führen Sie dann die folgenden Schritte aus:
- Verwenden Sie das DBI-Modul in Ihrem Perl-Skript
use DBI;
- Deklarieren Sie einige Hauptparameter
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";
- Verbinden Sie sich mit Ihrer Datenbank
my $dbh = DBI->connect($dsn, $userid, $password);
- Bereiten Sie Ihre Anfrage vor
my $query = $dbh->prepare("Your DB query");
Ex:
$my_query = qq/SELECT * FROM table WHERE column1 = 2/;
my $query = $dbh->prepare($my_query);
Wir können auch Variable in der Abfrage verwenden, wie unten:
my $table_name = "table";
my $filter_value = 2;
$my_query = qq/SELECT * FROM $table_name WHERE column1 = $filter_value/;
- Führen Sie Ihre Abfrage aus
$query->execute();
* Hinweis: Um einen Injektionsangriff zu vermeiden, sollten Sie Platzhalter verwenden ?
anstatt Ihre Variable in die Abfrage zu setzen.
Beispiel: Sie möchten alle Daten aus 'table' anzeigen, wobei column1 = $ value1 und column2 = $ value2:
my $query = $dbh->prepare("SELECT * FROM table WHERE column1 = ? AND column2 = ?;");
$query->execute($value1, $value2);
- Holen Sie sich Ihre Daten
my @row = $query->fetchrow_array();
Daten als Array speichern
oder
my $ref = $sth->fetchrow_hashref();
Daten als Hashreferenz speichern
- Beenden und trennen Sie die DB
$sth->finish;
$dbh->disconnect();