Thorsten Steffen: mysql-Zugriff aus perl

Beitrag lesen

Hi Christian,
erstmal danke für die Infos.
Da ich die perl-scripte zuerst testen möchte, bevor ich sie ins web lege, habe ich mir auf einem Rechner den apache und den perl-interpreter installiert, läuft auch alles soweit. Wie installiere ich nun das dbi-Modul, und woher bekomme ich das ? Da ich danach dann auch tabellen anlegen und Sätze hinzufügen möchte, noch eine kurze Frage: geht das alles über Standard-SQL, nachdem ich die Datenbank geöffnet habe ?
Und gibt es irgendwo im web eine ausführliche Doku zum perl-Zugriff auf mysql bzw. Datenbanken allgemein ?

Gruß
Thorsten

Hallo Thorsten,

Du brauchst dazu das DBI-Modul. Es müßte auf dem Server installiert sein. Wenn nicht, dann sprich mit Deinem ISP darüber.

Der die Datenbank betreffende (Teil)Code könnte folgendermaßen aussehen:

###################################################################
use DBI;

$dbserver="DBI:mysql:DBtest:dbservername.deinedomain.de";

Zur Info: DBtest = Datenbankname

deinedomain könnte auch der Name Deines ISP sein -> dort nachfragen !

bei Strato z.B.: "DBI:mysql:DB123:rdbms.strato.de";

$dbuser="testuser";
$dbpass="test";
$sqlbefehl="select * from testtabelle";

$dbh = DBI->connect($dbserver,$dbuser,$dbpass); # An Datenbank anmelden
$sth = $dbh->prepare($sqlbefehl); # SQL-Befehl vorbereiten
$ok=$sth->execute; #SQL-Befehl senden

Gefundene Zeilen auslesen

while (@dbrow = $sth->fetchrow_array)
{
  print $dbrow[0]; # erstes Feld des Datensatzens, $dbrow[1] = zweites Feld, usw...
}

$dbh->disconnect; # Von Datenbank abmelden

###################################################################

Eventuell wären noch diverse Prüfungen einzubauen (z.B. $ok -> wurden überhaupt Datensätze gefunden? oder konnte DB überhaupt geöffnet werden?).

Gruß

Christian Schnagl