I'm working on some code to store reports in a database, and I'm running into a wall on a simple DBI update. Here's the relevant code:
if ( $q->param( 'submit') ) { $db_sth = $db_dbh->prepare( <<' END_OF_SQL' ) ; update report set dbms_name = ?, report_name = ?, report_desc = ?, db_name = ?, db_username = ?, db_password = ?, sql_query = ? where report_id = ? END_OF_SQL $db_sth->execute( $q->param( 'dbms_name' ), $q->param( 'report_name' ), $q->param( 'report_desc' ), $q->param( 'db_name' ), $q->param( 'db_username' ), $q->param( 'db_password' ), $q->param( 'sql_query' ), $q->param( 'report_id' ) ) or die $db_sth->errstr ; }
When I try and submit the page with the updates (meaning this block gets executed) I get the following error:
(line 60 is where the "execute" begins)called with 7 bind variables when 8 are needed at /home/httpd/htdocs/d +ora/edit_report.cgi line 60.
Now, no matter how many times I count it, I see 8 parameters in the execute call. Any ideas as to what I'm doing wrong?
Those who know that they are profound strive for clarity. Those who
would like to seem profound to the crowd strive for obscurity.
--Friedrich Nietzsche
In reply to Missing a bind variable, but where? by DamnDirtyApe
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |