Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Perl (http://www.velocityreviews.com/forums/f17-perl.html)
-   -   Checking to see if a call to the DB worked (http://www.velocityreviews.com/forums/t24615-checking-to-see-if-a-call-to-the-db-worked.html)

Stymiee 11-29-2003 08:11 PM

Checking to see if a call to the DB worked
 
I'm writing a perl script to send out a joke of the day for my website.
It is accessing a mysql db (I use php for the rest of the site. This will
be a cron job so I figured perl would be better suited for that). I can
get it to do everything it is supposed to do to send a the joke via
email. But what I'm trying to do now is add some error checking so if
there is a problem, I can be notified about it.

What I need is to know how to check if a query was succcessful or not.
For example:

Code:

sub changeCurrentJOTD(){
$dbh = DBI->connect("DBI:mysql:database=$serverDb;host=
$serverName;port=$serverPort",$serverUser,$serverP ass);
$dbh->do("UPDATE jokes_content_test SET jotd='Yes' WHERE
jotd='today'");
$dbh->disconnect;
}


How do I check to see programatically if this was successful or not?

Nick Santos 11-30-2003 05:05 PM

Re: Checking to see if a call to the DB worked
 
change your do code to include "or &sqlerror" or some other error handling
subroutine like so:

$dbh->do("UPDATE jokes_content_test SET jotd='Yes' WHERE
jotd='today'") or &sqlerror;

#if it doesn't do it, do the subroutine sqlerror

sub sqlerror{
$dead = $dbh->err();
# err() returns the sql error
number in my sql. You can then use
# if statements to handle the
errors you think will occur
# if you don't know what the errors
are, then try to force some
# and use
$deadstr=$dbh->errstr();
# which will then give you
information in a sentence about the error that occurred
# so in the future you can do
better error handling and let it recover from the error
# once you know it occurred
print "error occurred - error number $dead - $deadstr";
# and maybe
die;
}

I hope I've been helpful and told you what you wanted to know
-Nick

"Stymiee" <stymiee@hotmail.com> wrote in message
news:Xns94429A78C9B7Fstymiee@216.196.97.136...
> I'm writing a perl script to send out a joke of the day for my website.
> It is accessing a mysql db (I use php for the rest of the site. This will
> be a cron job so I figured perl would be better suited for that). I can
> get it to do everything it is supposed to do to send a the joke via
> email. But what I'm trying to do now is add some error checking so if
> there is a problem, I can be notified about it.
>
> What I need is to know how to check if a query was succcessful or not.
> For example:
>
> Code:
>
> sub changeCurrentJOTD(){
> $dbh = DBI->connect("DBI:mysql:database=$serverDb;host=
> $serverName;port=$serverPort",$serverUser,$serverP ass);
> $dbh->do("UPDATE jokes_content_test SET jotd='Yes' WHERE
> jotd='today'");
> $dbh->disconnect;
> }
>
>
> How do I check to see programatically if this was successful or not?





All times are GMT. The time now is 03:55 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.