lapisteMedlem sedan okt. 200113 inlägg
Hejsan
Jag har installerat apache, perl och mysql och tänkte nu försöka koppla ihop sidan med databasen!
Jag har tankat hem DBI-drivrutiner på mysql´s sida, men zip-filen består av en massa mappar och filer. Någon som vet var jag ska lägga alltihop när jag zippat filen?
HansenMedlem sedan aug. 2000383 inlägg
Om du använder ActiveStates distribution så följer det med ett verktyg som heter ppm (Perl Package Management). Använ det för att lägga till och tabort moduler.
Ta upp en prompt och skriv ppm.
För mer info kolla i den medföljande manualen eller perldoc ppm.
------------------
Hansen
c.h@ngmedia.com
lapisteMedlem sedan okt. 200113 inlägg
hmm.. jag skrev use DBI;
men när jag kör skiten i dos så får jag det här meddelandet.. jag har även kört ppm och kört install på dbi, apachemysql... ska det vara så här krångligt med databaskopplingar....
C:\Program Files\Apache Group\Apache\cgi-bin>perl -w login.pl
Unquoted string "user" may clash with future reserved word at login.pl line 15.
Unquoted string "pwd" may clash with future reserved word at login.pl line 16.
Name "main::crap" used only once: possible typo at login.pl line 28.
Name "main::userid" used only once: possible typo at login.pl line 28.
Content-type: text/html
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/
site/lib .) at (eval 4) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: ADO, ExampleP, Multiplex, Proxy.
at login.pl line 22
HansenMedlem sedan aug. 2000383 inlägg
Hej,
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Har du verifierat detta?
DBI och DBD::Mysql måste vara installerat.
ppm install DBI
ppm install DBD-Mysql
------------------
Hansen
c.h@ngmedia.com
lapisteMedlem sedan okt. 200113 inlägg
så här ser filen ut (lite förkortat)
use DBI;
use DBD::mysql;
$databas = DBI->connect('DBI:mysql:lapiste','','',{autocommit => 1})
or print "mysql error: $DBI::errstr\n";
$tabell = $databas->prepare("select userid, user, pwd from users where user='$user' and pwd='$pwd'")
or print "mysql error: $DBI::errstr\n";
$crap = $tabell->bind_columns(undef, \$userid, \$user, \$pwd);
$tabell->execute;
if($tabell->fetch)
{
print "det funka";
}
else
{
print "funka inte";
}
och såhär ser felmeddelandet ut::
C:\Program Files\Apache Group\Apache\cgi-bin>perl -w login.pl
Unquoted string "user" may clash with future reserved word at login.pl line 16.
Unquoted string "pwd" may clash with future reserved word at login.pl line 17.
Name "main::crap" used only once: possible typo at login.pl line 28.
Name "main::userid" used only once: possible typo at login.pl line 28.
Content-type: text/html
Use of uninitialized value in concatenation (.) or string at login.pl line 25.
Use of uninitialized value in concatenation (.) or string at login.pl line 25.
Statement has no result columns to bind (perhaps you need to successfully call execute first) at log
in.pl line 28.
nåt som inte stämmer.. jag har kollat att paketen är installerade.. vilket de är..
daniel
HansenMedlem sedan aug. 2000383 inlägg
Hej,
jag har kollat att paketen är installerade.. vilket de är.
Vid ditt föregående inlägg så var de inte installerade.
Jag rekommenderar dig att läsa igenom dokumentationen för DBI och DBD::Mysql.
perldoc DBI
perldoc DBD::Mysql
Använd strict och -w så blir det lättare att felsöka ditt script.
------------------
Hansen
c.h@ngmedia.com
[Redigerat av Hansen den 28 okt 2001]
lapisteMedlem sedan okt. 200113 inlägg
efter mycket trixande så funkar det faktiskt nu.. det visade sig att det var min::
$user = param (user );
.. som inte fungerade.. kräver den också ett package..
tackar så mycket för hjälpen förresten
//daniel