Я пытаюсь заставить свой первый выбор работать с использованием selectall_hashref
из модуля Perl DBI. Я успешно установил соединение с базой данных (MySQL). Я получаю сообщение об ошибке, когда выполняю следующее:
$dbh->selectall_hashref('SELECT id FROM users WHERE login=?',undef,"myusername");
DBI :: st = HASH (0x1505a60) -> _ prepare (...): параметр атрибута 'myusername' не является хеш-ссылкой в строке /usr/lib/x86_64-linux-gnu/perl5/5.20/DBD/mysql.pm 238.
Моя таблица должна поддерживать этот запрос, в ней есть столбец id
и столбец login
для каждого пользователя.
Примеры, которые я нашел для selectall_hashref
, показывают, что параметр подстановки ?
передается как третий параметр. В документации DBI говорится, что второй и третий аргументы должны быть %attr
и @bind_values
, но не содержит подробной документации по ним и не показывает рабочие примеры.
Что вызывает ошибку и, что более важно, как вы на самом деле правильно используете %attr
и @bind_values
?