Dave,
What you have is mostly a mis-ordering of the lines. try this instead:
Code:
#SQL CODE
my $dbh = DBI->connect("DBI:mysql:daveDB","dave","pass412");
my $sql = "INSERT INTO user_accounts (username, email, password)
VALUES ($NewUserName, $NewEmail, $CryptPassword)";
my $sth = $dbh->prepare($sql);
my $res = $sth->execute();
$sth->finish();
$dbh->disconnect();
print end_html;
Once $dbh is defined, a "prepare" call is needed to get the SQL statement into the object.
As a side note, for best coding practice, you should have a " -w" after the perl line at the top (like this: "#!/usr/local/bin/perl -w") OR "use warnings;" to be sure you're told about things that could be mistakes. It's also a very good idea to "use strict;", which forces you to declare variables with "my" before you can use them. This also helps to make in obvious what variable scope you're expecting and can really reduce the amount of hair you pull out during a project.
HTH!
Steve
Quote:
Originally Posted by Dave247
Here is my Perl code with the DBI code in there to access the database:
When I run this, I get this error message: "Can't locate object method "disconnect" via package "INSERT INTO user_accounts (username, email, password)"Dave247
HI to everyone, I have been for a very long time in my life a GUI user, and now that i have to use a Solaris 5 terminal, i am not sure how to do some things:
Downloading stuff from the internet:
How do i do that?
in a GUI you just click on the link and start downloading automatic, but i have... (4 Replies)
We ran into an issue trying to install DBI and DB2 modules for perl for AIX from the link
http://www-306.ibm.com/software/data/db2/perl/
We tried to install the DBI module using
bash# perl -MCPAN -e 'install DBI'
command. However we ended up with the following error.
Stop.
... (3 Replies)
Hey,
I connected with Cygwin and this command:
"ssh -Y USER@web.com"
Then trying to open a program, but this error appeared:
"Cannot open X display: DISPLAY variable unset"
what do I have to do?
Thanks.
Alex (3 Replies)
hi i am trying to connect to an oracle database using dbi and i get this ::
Driver has not implemented the disconnect_all method. at /opt/perl/lib/site_perl/5.8.0/sun4-solaris/DBI.pm line 575
END failed--call queue aborted.
for all i know, the script was working earlier, but has... (1 Reply)
Hi, i have some queries on installing the Perl DBI and the DBD Oracle.
I know that i have to install the DBI first. I have the source files in a folder in my home directory.The commands to install arecd /home/DBI
Perl Makefile.PL
make
make installI would like to know, after executing these... (4 Replies)
Hello !
I am working on a small Perl script that should connect to the MySQL server, will select all the databases one by one and do some queryes on each. I started working on it but I just saw that on the DBI manual page there's no method for changing the working database. Am I missing... (2 Replies)
Hi,
I want to connect perl with the mysql to select and so on but the connection don't work
code
#!/usr/bin/perl
BEGIN {
# PERL MODULES WE WILL BE USING
use DBI;
$dbh = DBI->connect('DBI:mysql:C:\Program Files\MySQL\MySQL Server 5.0\data\db1','','pass') or die $DBI::errstr;}
#... (1 Reply)
Hi there, I have a bit of code similar to below (which ive actually got from perldoc, but mine is similar enough)
$sth = $dbh->prepare(q{ SELECT region, sales FROM sales_by_region });
$sth->execute;
my ($region, $sales);
# Bind Perl variables to columns:
$rv =... (4 Replies)
Hi All,
I installed DBI module in a non INC location and using it in my script via "use lib".
But it throw the below error at the "use DBI" step.
Please help
Usage: DBI::_install_method(dbi_class, meth_name, file, attribs=Nullsv) at /xx/xxx/xxxxx/xxxxx/oracle/lib/DBI.pm/oracle/lib/DBI.pm line... (2 Replies)
Discussion started by: prasperl
2 Replies
LEARN ABOUT OSX
dbd::sponge
DBD::Sponge(3) User Contributed Perl Documentation DBD::Sponge(3)NAME
DBD::Sponge - Create a DBI statement handle from Perl data
SYNOPSIS
my $sponge = DBI->connect("dbi:Sponge:","","",{ RaiseError => 1 });
my $sth = $sponge->prepare($statement, {
rows => $data,
NAME => $names,
%attr
}
);
DESCRIPTION
DBD::Sponge is useful for making a Perl data structure accessible through a standard DBI statement handle. This may be useful to DBD module
authors who need to transform data in this way.
METHODS
connect()
my $sponge = DBI->connect("dbi:Sponge:","","",{ RaiseError => 1 });
Here's a sample syntax for creating a database handle for the Sponge driver. No username and password are needed.
prepare()
my $sth = $sponge->prepare($statement, {
rows => $data,
NAME => $names,
%attr
}
);
o The $statement here is an arbitrary statement or name you want to provide as identity of your data. If you're using DBI::Profile it
will appear in the profile data.
Generally it's expected that you are preparing a statement handle as if a "select" statement happened.
o $data is a reference to the data you are providing, given as an array of arrays.
o $names is a reference an array of column names for the $data you are providing. The number and order should match the number and
ordering of the $data columns.
o %attr is a hash of other standard DBI attributes that you might pass to a prepare statement.
Currently only NAME, TYPE, and PRECISION are supported.
BUGS
Using this module to prepare INSERT-like statements is not currently documented.
AUTHOR AND COPYRIGHT
This module is Copyright (c) 2003 Tim Bunce
Documentation initially written by Mark Stosberg
The DBD::Sponge module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. In particular
permission is granted to Tim Bunce for distributing this as a part of the DBI.
SEE ALSO
DBI
perl v5.16.2 2011-09-14 DBD::Sponge(3)