469,626 Members | 1,611 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,626 developers. It's quick & easy.

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?
Jul 19 '05 #1
1 2347
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" <st*****@hotmail.com> wrote in message
news:Xn*********************@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?

Jul 19 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Tongu? Yumruk | last post: by
67 posts views Thread by Steven T. Hatton | last post: by
14 posts views Thread by Kayle | last post: by
66 posts views Thread by Johan Tibell | last post: by
4 posts views Thread by Patient Guy | last post: by
21 posts views Thread by ningxin | last post: by
reply views Thread by gheharukoh7 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.