Indsæt ved hjælp af DBI
Hey eksperterSå må jeg endnu en gang spørge om hjælp, har bøvlet med det hele natten og idag, men synes bare ikke jeg kan få det til at virke.
Igår aftes var Nielle herinde fra så flink at hjælpe mig igang med DBI og få det installeret.
Jeg har nu forstået hovedtrækkene, og har lavet nedestående kode.
#!c:/perl/bin/perl.exe
use strict;
use CGI ':standard';
use DBI;
my $DataBaseName = "links";
my $DataBaseHost = "localhost";
my $DataBaseUser = "root";
my $DataBasePass = "nm912552";
my $DataHandle = DBI->connect("DBI:mysql:database=$DataBaseName;host=$DataBaseHost",
"$DataBaseUser",
"$DataBasePass",
{ RaiseError => 1,
AutoCommit => 0 }) ¦¦ die "Unable to connect to $DataBaseHost because $DBI::errstr";
$DataHandle->do("CREATE TABLE bookmark (id INTEGER(5) NOT NULL auto_increment,
title VARCHAR(40) default NULL,
link VARCHAR(40) default NULL,
decrip VARCHAR(40) default NULL,
KEY id (id)
)");
my $title = param('title');
my $link = param('link');
my $descrip = param('descrip');
$DataHandle->do("INSERT INTO bookmark values(id,'$title','$link','$descrip')");
$DataHandle->disconnect();
-------------------------------------------------
and the HTML
<form name="bookmark" method="post" action="../cgi-bin/index.pl">
<p>
Titel :
<input type="text" name="title">
</p>
<p>
Link :
<input type="text" name="link">
</p>
<p>Beskrivelse:<br>
<textarea name="descrip"></textarea>
</p>
<p>
<input type="reset" name="Reset" value="Reset">
<input type="submit" name="Submit" value="tilføj">
</p>
</form>
---------------------------------------------------
mit problem er nu at det giver en 500 fejl når det køres gennem en browser,
men hvis jeg udskifter :
my $title = param('title');
my $link = param('link');
my $descrip = param('descrip');
med
my $title = "titel";
my $link = "link";
my $descrip = "beskrivelse";
og kører scriptet direkte igennem en prompt så virker det hele fint.
Jeg håber en eller anden forstår hvor jeg vil hen, og kan hjælpe mig i den rigtig retning
Mvh Martin Tygsen
