perl - 如何使用 Perl 绑定(bind) SQL 语句中的参数值?

标签 perl sqlite

嗨,我正在使用 SQLite DB,每当我尝试将参数的值绑定(bind)到语句中时,都会出现错误。

这是一段代码:

my $sth = $dbh->prepare("SELECT UserId,UserName,CardNo,GroupId,Role,VerifyType FROM
    UsersList limit ?,? "); 
$sth->bind_param(1, undef,SQL_VARCHAR);
$sth->bind_param(2, undef,SQL_VARCHAR);
$sth->execute($page,$results_per_page);

这是错误:
ERROR: DBD::SQLite::st execute failed: datatype mismatch at line 68.

谁能帮帮我,让我知道我应该用什么数据类型代替 SQL_VARCHAR?

最佳答案

看起来您正在使用 bind_param()错误的。看看这个例子:

use DBI qw(:sql_types);  # Don't forget this

my $sth = $dbh->prepare(q{
    SELECT bar FROM foo GROUP BY bar HAVING count(*) > ?;
});
$sth->bind_param(1, 5, SQL_INTEGER);
$sth->execute();

即:没有参数到 execute()并且值进入 bind_param()称呼。

关于perl - 如何使用 Perl 绑定(bind) SQL 语句中的参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3838111/

相关文章:

r - SQLite小于或等于仅返回相等的结果

sqlite - 多次运行 'create table ...' 是否安全?

perl - 模板工具包和惰性Moose属性-如何使它们表现出来?

bash - 在bash/perl中解析txt文件的有效方法

sqlite - 使用 SQLite 快速插入

ios - 数据库无法加载 WatermelonDB react-native

Android SQLite 检查值是否存在

perl - Perl的postfix `for`语法在哪里记录?

perl - 如何以 Mooseish 方式声明 2 个依赖属性?

perl - 使用 Perl 解压缩 LZ4 blob