David Gerler wrote: >>David Gerler wrote: >> >>>Hi all, >>> I have a script that runs an SQL query and sends an email >> >>using sendmail. >> >>>It works fine if called using a browser. The email is sent with >> >>the correct >> >>>content in the message. >>> If I run it using cron, I get the message but the content >> >>is not sent. >> >>>Meaning the body of the message is empty. I also get an email >> >>from cron that >> >>>contains and error message: >>>----------- >>>DBD::mysql::db do failed: You have an error in your SQL syntax >> >>near '' at >> >>>line 1 at /home/ezbid/www/cgi-bin/ua/includes/close_item.pl line 248. >>>---------- >>> >>> Can anybody give me some insight as to why I get an error when cron >>>executes the script, but when I do it in a browser it works fine. >>> >>> Any help is appreciated. >>> >>>David Gerler >>>Gerler Enterprises >>>PO BOX 16357 >>>Chesapeake VA 23328 >>>http://www.GerlerEnterprises.com/ >>> >>>Nationwide Dial-up from $12.45 >>>http://www.EasySitesForLess.com/ >>> >>> >>> >>> >> >>I ( we ) would need to see the script(s) that cron is calling to help >>out. However, I get that DBD error all the time :-) .. are you sure your >>sql statement is correct? >> >>Thanatos >> > > The script runs when called from a browser so I was thinking that it had to > do with the differences in how apache and cron worked or something like > that, so I didn't include the code. I will include the code below: > > This is the sql statement from line 248: > $db->do("UPDATE Members SET won=won + 1 WHERE usernum=$biddernum"); > > This is the job I set in cronjobs: > * * * * * /home/ezbid/www/cgi-bin/ua/item.pl?item=958 > /dev/null > > I'm new to SQL also, so could the spaces around the "+" be the problem? > > Dave > > >
Thanks Dave, From the looks of the SQL statement, won is an integer and you want to add one to it. When I do that I get the current value of won from the db , assign the value to a variable ( like $won ) and then do a ("update Memebers SET won='" . ( $won + 1 ) . "' WHERE ..." ). Also, is $biddernum defined and does it contain a value? Is it possible that it could contain special characters, like a ' or "? If so, the you can use $new_biddernum = $db->quote( $biddernum ) so that the special chars are taken care of for you. For an explaination of $db->quote, do a man DBI and search for quote. Does any of that help? Thanatos -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]