siggi: CGI - Abfrageergebnisse in searchable database

Beitrag lesen

Ich möchte mich auch näher mit Datenbanken, speziell SQL beschäftigen.
Was genau benötige ich dazu ?

Hallo Andre,

vor zwei Wochen stand ich vor dem selben Problem wie du.

Folgende Voraussetzungen: MySQL/MSQL auf dem Rechner installieren
Perl-Modul DBI (ist bei perl5 glaube ich standardmäßig dabei, vergewissere dich, daß perl5 installiert ist).

Hier ein paar kleine Routinen, mit denen ich arbeite:

sub Create_DB_Connection{
use DBI;
$db_name = "test";
$user = "ich";
$pw = "Top-secret";
$DSN  = "DBI:mysql:$db_name";
$dbh  = DBI->connect($DSN,$user,$pw) die "Cannot connect: $DBI::errstr\n" unless $dbh;
return;
}

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

sub Do_SQL{
  eval{
      $sth = $dbh->prepare($SQL);
     };

if($@){
    $dbh->disconnect;
    print "Content-type: text/html\n\n";
    print "An ERROR occurred! $@\n";
    exit;
  }
  else
  {
  $sth->execute;
  }
return ($sth);
}

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

&Create_DB_Connection
#stellt die Verbindung her

$SQL = "select * from tabelle1";
#das ist das SQL-Statement

&Do_SQL;
#führt das SQL-Statement aus

while (@datensatz = $sth->fetchrow_array) {
     foreach $satz (@datensatz) {print $satz}
      }
#gibt die einzelnen Datensätze aus

$dbh->disconnect;
#trennt die Verbindung zu Datenbank

#zu $sth->fetchrow_array solltest du dir auch unbedingt die Manpage von DBI ansehen. Stehen sehr interessante Sachen drin.