in reply to simple question about printing sql 2000 error message

execute() returns false if there is an error. You can catch that like so:

$sth->execute() || die("Divide By Cucumber Error\n");

On another note, you really should be using placeholders rather than interpolating $lsname directly into your SQL. Consider what would happen if the variable contained an apostrophe. Or if it contained foo');update t1 set lsname='you are owned