phpbar.de logo

Mailinglisten-Archive

Perlscript DBI Fehler [no Datab?]ase Selected. Geht in shell, nicht per
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Perlscript DBI Fehler [no Datab?]ase Selected. Geht in shell, nicht per web



Hallo allerseits,

ich benutze MySQL 3.22.21 auf suse linux 6.0. Als webserver läuft der
Apache 1.34.

Nun hab ich folgendes Problem:

Ich hab eine Datenbank test angelegt, und darin die Tabelle adresse.
Benutze ich nun ein CGI-script um Daten einzutragen bekomme ich als
Fehlermeldung ein:

DBD::mysql::st execute failed: ase Selected at
/usr/local/httpd/cgi-bin/data.pl line 79.
httpd: [Tue Jun  8 12:40:31 1999] [error] Kann die query nicht
ausführen: ase Selected

ase Selected soll wohl soviel heißen wie "no Database selected", aber
das sollte eigentlich nicht passieren. In der shell läuft das Script
einwandfrei. Weiß jemand wo der Fehler liegt?

n´ Gruß,

Hubert

hier mal das Script (in auszügen):

#!/usr/bin/perl -w

use DBI;
use CGI;


# Jetzt den QUERY_STRING auswerten und in einen Hash ablegen
# Um genau zu sein wird hier ein Handel ($query) auf einen Hash erzeugt

$query=CGI::new();

# Ausgeben des http headers:

print CGI::header();
print CGI::start_html(-title=>"data",-bgcolor=>"white");

###
# Datenbank Teil des Programms
###

# Die verbindung zur Datenbank aufbauen
# $db_verbind= DBI->connect(data_source, user,passwd

$db_verbind= DBI->connect("DBI:mysql:test", "wwwrun", "geheim");

# Prüfen ob denn die Datenbank auch geöffnet wurde

if ( !defined $db_verbind ) {
      die "Cannot do \$dbh-connect: $DBI::errstr\n";
}

# Ausgeben, das alles korrekt verlief

print "Verbindung mit der Datenbank war alles OK. Der Errorstring:<br>";
print $DBI::errstr,"<br>\n";

# Statement zusammenbauen aus den übergebenen Variablen:
# vorher übergebene Variablen zwischenspeichern

$name=$query->param("name");
$vorname=$query->param("vorname");
$adresse=$query->param("adresse");

$statement="insert into adresse
values(\"".$name."\",\"".$vorname."\",\"".$adresse."\",curdate())\;";

print $statement,"<br>\n";

# Unsere Abfrage einleiten (vorbereiten um ein Handel für
# diese Abfrage zu bekommen)

$query_handel=$db_verbind->prepare($statement)
 or die "Kann das Statement nicht Vorbereiten:
",$db_verbind->errstr,"\n";

# Jetzt ein Handel auf das Ergebnis bekommen

$ergebnis=$query_handel->execute
	or die "Kann die query nicht ausführen: ",$query_handel->errstr,"\n";

# Jetzt diese Query wieder Freigeben (keine weiteren fetch von 
# diesem Query)

$ergebnis=$query_handel->finish;

print "Das ergebnis:\n",$ergebnis,"\n";

# Wieder abmelden von der Datenbank und eventuelles results ausgeben

$result=$db_verbind->disconnect;

print $result, "\n";


###
# Wieder Html, diesmal den rest, der noch übrig bleibt
###


CGI::end_html()


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive