mysql-Zugriff aus perl
Thorsten Steffen
- perl
Hi, ich möchte mit einem perl-script auf eine mysql-Datenbank zugreifen. Weiß jemand, wie das funktioniert (Befehle, Funktionen usw.) oder wo eine Doku darüber liegt ?
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";
$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
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
Gibts irgendwo auch eine Dokumentation dazu (mit weiterreichenden Infos) ???
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 sendenGefundene 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
Hallo,
Wie installiere ich nun das dbi-Modul, und woher bekomme ich das ?
Das Modul gibts unter
http://www.mysql.com/download_perl.html
Alternativ mit Beschreibung, Anleitungen und vielen Texten dazu:
http://www.perl.com
-> dort in der linken Spalte unter "Search Perl Reference:" dbi eingeben
Eine Installation habe ich selbst noch nicht gemacht.
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 ?
Ja, man kann fast alle SQL-Befehle verwenden. Soweit ich weiß, darf man nicht mehrere SQL-Befehle ineinander verschachteln.
Und gibt es irgendwo im web eine ausführliche Doku zum perl-Zugriff auf mysql bzw. Datenbanken allgemein ?
Ja, eine gute Beschreibungen zu Datenbanken im Netz sind z.B.:
http://WDVL.com/Authoring/DB/Intro/toc.html (auch DBI !!!)
http://www.devshed.com/resource/advanced/mysql/mysql1-1.html
http://www.hotwired.com/webmonkey/backend/tutorials/tutorial1.html
Gruß
Christian Schnagl