Hallo zusammen,
ich bin noch etwas neu im umgang mit PERL und dem Zugriff auf meine MySQL Datenbank.
Ich schaffe es mit dem unten stehenden Skript den Innhalt der ersten Zeile der Ergebnis Tabell einzeln auszugeben.
Jedoch möchte ich auch auf weitere Zeilen der Ergebnistabelle zugreifen und gezielt auf bestimmte spalten der Errgebnistabelle.
(Ergebnistabelle einer SELECT Abfrage).
Ich hoffe mir kann da jemand weiterhelfen.
Ein kleines CODE Beispiel wäre sehr gut.
Mit freundlichen Grüßen
Jens Geier
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/Perl/bin/perl
use strict;
use warnings;
use DBI;
my $user = "test";
my $password = "test";
print "--- ANFANG ---\n";
# DSN legt den Treiber, Name der DB, Host und Port fest
my $dsn = "dbi:mysql:database=jgeier;host=localhost;port=33066";
# Der eigentliche Connect mit Benutzer und Passwort
my $dbh = DBI->connect($dsn, $user, $password)
or die "Error connecting to MySQL server: " . DBI->errstr();
print "[A]\n";
print $dbh."\n";
# Beispiel fuer SELECT
# Die '?' sind Platzhalter, für die 1 und 2 eingesetzt werden
# Sollte man benutzen, um SQL-Injection durch fehlendes Escaping vorzubeugen
# my $rows = $dbh->selectrow_arrayref("SELECT * FROM TABLE jgeier.test", 1, 2);
my $rows = $dbh->selectrow_arrayref("SELECT * FROM jgeier.test");
print "[B]\n";
print $rows."\n";
#
## Über die Ergebniszeilen des SELECTs iterieren...
#
print "[C]\n";
foreach my $row (@$rows) {
print $row."\n";
}
# Datenbankverbindung abbauen
$dbh->disconnect();
print "--- ENDE ---\n";
exit;
Mit freundlichen Grüßen
Jens Geier
=====================================
Server : NOVELL NetWare 6.5 SP7
Perl : V5.8.4
=====================================