Checking to see if a call to the DB worked

S

Stymiee

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,$serverPass);
$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?
 
N

Nick Santos

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top