如何解决错误“ DBD :: SQLite :: db selectall_arrayref失败:无法识别“? [英] how to solve the error " DBD::SQLite::db selectall_arrayref failed: unrecognized"?

查看:127
本文介绍了如何解决错误“ DBD :: SQLite :: db selectall_arrayref失败:无法识别“?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你能给我一个如何打印出2d阵列的提示


包DataLayer;

sub nextWords {

我的$ lang_size = languages();

我的$ id(1 .. $ lang_size){

my($ id,$ offset)= @_;

我的@array =();

my $ statement = $ db-> selectall_arrayref(" select words from words

left outer join语言

on words.languageId = language.languageId

where words.languageId = $ id

by word asc

limit 10 offset $ offset;");


my @ main =();

foreach my $ i(@ $ statement)

{

push(@main,@ {$ i} [0]);

}

@array [ $ id] = [@main];


返回@array;

}

}

我创建了一个测试类来测试结果。


$ object = DataLayer-> new();



print" Words:\ n&q uot ;;


我的$ id(1 .. 3){


打印" ======= ID = " 。 $ id。 " ======= \ n";

我的$ self = 0;

名称:while(1> 0){

我的@newwordsList = $ object-> nextWords($ id,$ self);


$ self + = 10;

foreach my $ k(@ {@ newwordsList [$ id]}){<​​br />

打印$ k。 " \ n";

}

打印" \ n" ;;

if(!@ {@ newwordsList [$ id ]} [0]){

最后一个名字;

}

}

}


它给我一个错误DBD :: SQLite :: db selectall_arrayref failed:unrecognized token:" 0x156b16c"在C:/


请帮助..非常感谢

解决方案

lang_size = languages();

我的


id(1 ..


lang_size){

my(

Can you give me a hint that how to print out the 2d array

package DataLayer;
sub nextWords {
my $lang_size = languages();
for my $id(1 .. $lang_size ){
my ($id, $offset) = @_;
my @array = ();
my $statement = $db->selectall_arrayref("select word from words
left outer join language
on words.languageId = language.languageId
where words.languageId = $id
order by word asc
limit 10 offset $offset;");

my @main= ();
foreach my $i (@$statement)
{
push(@main, @{$i}[0]);
}
@array[$id] = [@main];

return @array;
}
}

and I create a test class in order to test the result.

$object = DataLayer->new();


print "Words :\n";

for my $id(1 .. 3 ){

print "=======ID = " . $id . "=======\n";
my $self = 0;
NAME: while (1 > 0){
my @newwordsList = $object->nextWords($id,$self);

$self+= 10;
foreach my $k (@{@newwordsList[$id]}) {

print $k . "\n";
}
print "\n";
if (!@{@newwordsList[$id]}[0]) {
last NAME;
}
}
}

and it gives me an error DBD::SQLite::db selectall_arrayref failed: unrecognized token: "0x156b16c" at C:/

please help .. thank you very much

解决方案

lang_size = languages();
for my


id(1 ..


lang_size ){
my (


这篇关于如何解决错误“ DBD :: SQLite :: db selectall_arrayref失败:无法识别“?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆