我正在使用SQLite DB,每当我尝试将参数的值绑定到语句中时,我都会收到错误.
这是一段代码:
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);
Run Code Online (Sandbox Code Playgroud)
这是错误:
ERROR: DBD::SQLite::st execute failed: datatype mismatch at line 68.
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮帮我,让我知道我应该用什么数据类型代替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();
Run Code Online (Sandbox Code Playgroud)
ie:没有参数,execute()值在bind_param()调用中.
| 归档时间: |
|
| 查看次数: |
923 次 |
| 最近记录: |