On Saturday 03 November 2001 04:26, paco anubis wrote:

> Hello,
> I started learning Perl 4 weeks ago and mysql 3 days
> ago so I know that I am in over my head, but here goes
> nothing. I am trying to build a Perl CGI application
> (using DBI) to pass form contents from a web page
> directly into a MySql database.
>  I don't know how to pass the Perl variable from the
> form into the database. I tried to assign the value
> using the following code (where "$feilds{user}" is the
> Perl variable to pass):
>
> $userdb=$dbh->($feilds{user});
>
> $rows=$dbh->do
>     ("INSERT INTO bandbook (user, ect, ect...)
>      VALUES             ($userdb, 'ect', 'ect', ...)")
>
>   || die "fucked up inserting data: $DBI::errstr";
>
> print "$rows row succesfully added to bandbook\n";
>
>
> As you may have guessed the table, bandbook is still
> empty because the script always dies. Can anyone point
> me in a better direction. Due to my unfamiliarity with
> either language, I am definately not ruling out a
> syntax error.

It's good practice to assign your SQL query to a variable which you can 
then print out for debugging purposes. It also allows you to copy and 
paste that query into mysql directly and see what results it yields.

I think your problem is that you haven't quoted the VALUES that you're 
inserting. Try:

$QRY = "INSERT INTO bandbook (user, ect1, ect2...)
        VALUES ('$userdb', '$ect1', '$ect2', ...)";
print("$QRY"); ## For debugging
$rows=$dbh->do($QRY) || die "Error";



hth
-- 
Jason Wong
Gremlins Associates
www.gremlins.com.hk

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <mysql-unsubscribe-##L=##[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to