perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 21
Click for quality!




11.02.2012 / 06:33

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Rund um das Thema Datenbank zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragCan't locate object method "param" via package "DBI::st"
Seitenanfang
Hallo,
ich habe folgendes PERL-Problem:

Nach einer Datenbankabfrage erhalte ich im weiteren Skriptverlauf nach

$xy = $query->param('xy');

die Fehlermeldung:

Can't locate object method "param" via package "DBI::st"

Die DBI-Abfrage:

...
&dbverbinden;
$query = $dbh->prepare('SELECT * FROM xy WHERE z = ?);
$query->execute($string);
&dbbeenden;
&dbauslesen;
foreach $datensatz (@ergebnis)
{
...
}
#======Verbindung zur Datenbank herstellen======
sub dbverbinden
{
$dbh=DBI->connect('xxx');
}
#======Datenbankeintraege in Array auslesen======
sub dbauslesen
{
while ( @abfrage = $query->fetchrow_array() )
{
$abfragestring = join ';' ,@abfrage;
push @ergebnis,$abfragestring;
}
}
#========Datenbank-Verbindung beenden===========
sub dbbeenden
{
$query->finish();
$dbh->disconnect();
}
#==============================
...

Wo liegt mein Fehler ???

Gruß
pfaelzer

Datum: 21.10.2008-00:08

Beitragre: Can't locate object method "param" via package "DBI::st"
Seitenanfang
Kann es sein, dass das in einem CGI-Skript passiert und Du einmal $query als Objekt von CGI und einmal für die Datenbankabfrage verwendest?

Geh ich recht in der Annahme, dass Du kein "use strict" verwendest (siehe auch http://wiki.perl-community.de/bin/view/Wissensbasis/UseStrict )

Datum: 21.10.2008-08:43

Beitragre: Can't locate object method "param" via package "DBI::st"
Seitenanfang
Genau, kein use strict, weil dann das Skript nicht mehr läuft ...
und $query ist doppelt in Verwendung CGI und DB... das ist wohl nicht so gut, oder ??

Datum: 21.10.2008-23:23

Beitragre: Can't locate object method "param" via package "DBI::st"
Seitenanfang
Nein, Du solltest eine Variable immer nur für eine Sache verwenden.

Zu "mein Skript läuft mit 'use strict' nicht mehr": Bitte lies Dir mal den Artikel durch, zu dem ich den Link gepostet habe.

Datum: 22.10.2008-16:17

-






-
-