Can't locate Mysql.pm in @INC

29/01/2009 - 16:16 von Knut Krueger | Report spam
Hallo zusammen, ein altes Script làuft seit heut nicht mehr.
Auf Anfrage beim Support bekam ich folgende Nachricht:


Auf dem Server wurden neue Sicherheitsupdates eingespielt.

Der verwendete Code ist so nicht mehr ausführbar, wir bitten Sie jene
aktuelle Dokumentation zu DBD::mysql zu überprüfen und das Script
anzupassen.





Kann mir jemand weiterhelfen wo ich anfangen soll zu suchen?
Ich habe haufenweise noch Seiten gefunden wo genau dieser Aufruf
use Mysql; drin steht ohne Hinweise auf irgendetwas neues :-(

Viele Grüße Knut
 

Lesen sie die antworten

#1 Christian Winter
29/01/2009 - 16:46 | Warnen spam
Knut Krueger schrieb:
Hallo zusammen, ein altes Script làuft seit heut nicht mehr.
Auf Anfrage beim Support bekam ich folgende Nachricht:

Auf dem Server wurden neue Sicherheitsupdates eingespielt.

Der verwendete Code ist so nicht mehr ausführbar, wir bitten Sie jene
aktuelle Dokumentation zu DBD::mysql zu überprüfen und das Script
anzupassen.



Kann mir jemand weiterhelfen wo ich anfangen soll zu suchen?
Ich habe haufenweise noch Seiten gefunden wo genau dieser Aufruf
use Mysql; drin steht ohne Hinweise auf irgendetwas neues :-(



Naja, die Hinweise auf die Änderung sind vor sieben bis acht
Jahren im Web gewesen und seitdem langsam wieder verschwunden,
weil kaum jemand mehr so die alten Versionen einsetzt. Mit
dem DBI-Interface werden die einzelnen Datenbank-Treiber
nicht mehr explizit geladen, sondern es reicht ein "use DBI;"
der dann den entsprechenden Treiber je nach connect-string á la
my $dbh = DBI->connect(
'DBI:mysql:hostname=xxx;database=yyy',
$username,
$password
);
nachlàdt.

"Neu" ist z.B., dass nicht mehr direkt $db->query aufgerufen
wird, sondern erst mittels $sth = $dbh->prepare($sql) ein
Statement-Handle erzeugt wird, das dann mit $sth->execute
ausgeführt wird. Die Werte werden dann vom Stmt-Handle mit
$sth->fetchrow_(hashref|array|arrayref) bzw.
$sth->fetchall_(hashref|arrayref) abgerufen und nicht vom
DB-Objekt.

Du wirst wohl nicht umhin kommen, dir die Dokus von "DBI" und
"DBD:mysql" durchzulesen und das Script entsprechend
umzuschreiben. Quelle der Doku ist wie immer die lokale
Perl-Installation ("perldoc DBI" bzw. "perldoc DBD::mysql")
oder http://search.cpan.org

-Christian

Ähnliche fragen