Я пытаюсь запустить оператор select в базу данных sqlite3 с использованием Perl DBI. Ниже приведен код:Ошибка при запуске sql-оператора на sqlite3 db с использованием Perl DBI
my $dbh = DBI->connect("DBI:SQLite:dbname=./GenBankData.db" , "" , "" , { PrintError => 0 , RaiseError => 1 });
my $Sql = 'select AccessionQueryResultID, AccessionNumber, Definition from AccessionQueryResult';
my $sth = $dbh->prepare($Sql) or die "Couldn't prepare statement: " . $dbh->errstr;;
$sth->execute($Sql) or die "Couldn't execute statement: " . $dbh->errstr;
Но я получаю следующее сообщение об ошибке: DBD :: SQLite :: ул выполнить не удалось: вызывается с 1 связываемых переменных при 0 необходимы на /home/mysite.cgi линии 33
Я проверил, что база данных и таблица существуют, и один и тот же запрос работает нормально, если я использовал командную строку sqlite3 для запуска запроса.
Благодаря
Nit: 'die" Не удалось выполнить инструкцию: ". $ dbh-> errstr; 'никогда не будет выполнен, потому что он использует' RaiseError'. – ikegami