perl-MySQL klappt nicht

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

perl-MySQL klappt nicht

Postby Thomas_uth » 19. September 2003 19:48

hallo zusammen

Ich wollte bei meinem cgi-Skript auf eine Datenbank zugreiffen und irgendwie klappt das aber nicht.

Folgende Fehlermeldung:

Global symbol "$dbh" requires explicit package name at C:/Programme/Apache Group/Apache2/cgi-bin/dbTest1.pl line 14.
Execution of C:/Programme/Apache Group/Apache2/cgi-bin/dbTest1.pl aborted due to compilation errors.

Mein Test-Skript sieht folgendermassen aus:

#!C:\Programme\perl\bin\perl.exe -w
use strict;
use CGI qw(param url);
use CGI::Carp qw(fatalsToBrowser);
use File::Copy;
use DBI; ## Modul für Datenbank

my $url = url();
print "Content-type: text/html\n\n";


print "Dies ist ein Test für die Verwendung von MySQL";

$dbh = db_open("TestDB", "root", "");


sub db_open {
my ($db, $user, $passwort) = @_;
my $dsn = "DBI:mysql:database=$db";
my $dbh = DBI->connect($dsn, $user, $passwort);
if (defined($dbh) and $dbh ne ""){
return $dbh;
} else {
("Verbindung zur Datenbank konnte nicht hergestellt werden: \n$DBI::errstr");
}
}


Besten Dank für jegliche Hilfe und Kommentare

Gruss

Thomas
Thomas_uth
 

Postby Kristian Marcroft » 20. September 2003 05:28

Hi,

bin zwar kein Perl Experte,
aber eine Frage habe ich...
Woher weiss das Script auf welchen Server er connecten soll?
Da fehlt der Servername? oder die IP vom Server.

Nur eine anregung vielleicht?
Oder ich hab was völlig verpeilt?

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Guest » 24. September 2003 22:19

Hallo

Ich bin ja auch nicht grad ein Held in Perl, aber muss die Variable $dbh nicht noch mit "my" deklariert werden?

Nicht
$dbh = db_open("TestDB", "root", "");

sondern
my $dbh = db_open("TestDB", "root", "");

gruss stephan
Guest
 


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 3 guests