我想讓我的第一個選擇使用來自Perl DBI模塊的selectall_hashref
。我已經成功打開了與數據庫(MySQL)的連接。我發現了一個錯誤,當我執行以下命令:當使用Perl DBI時,「屬性參數不在哈希引用中」錯誤selectall_hashref
$dbh->selectall_hashref('SELECT id FROM users WHERE login=?',undef,"myusername");
DBI :: ST = HASH(0x1505a60) - > _準備(...):屬性參數 '名爲myUsername' 不是一個哈希裁判在/usr/lib/x86_64-linux-gnu/perl5/5.20/DBD/mysql.pm線238
我的表應該是能夠支持這個查詢,它爲每個用戶id
柱和login
列。
我發現的selectall_hashref
的示例顯示?
替代參數作爲第三個參數傳遞。 DBI documentation表示第二個和第三個參數應該是%attr
和@bind_values
,但沒有提供關於它們的很多文檔或顯示工作示例。
是什麼導致了錯誤,更重要的是你如何正確使用%attr
和@bind_values
?
我希望能找回像{{「id」 - > 1}'這樣的hashref,這就是我選擇hashref版本的原因。 hashref是否引用它所需的參數而不是返回的參數? –
我明白了。恐怕你需要一排一排地使用fetchrow_hashref。 DBI在命名方面略有不一致...... –
就是這樣。我想'selectrow_hashref'而不是'selectall_hashref'。我看過兩個例子,並複製了錯誤的代碼。 –