0

こんにちは、モジュール内でSQLクエリを使用するためのOTRS開発者マニュアルに従っています。

次のクエリを実行しますが、結果から最初の値しか取得できません。

  my $SQL = "SELECT id FROM roles ";

  $Self->{DBObject}->Prepare(SQL => $SQL, Limit => 15);

  my @Row = $Self->{DBObject}->FetchrowArray();

配列のサイズを確認すると、@Row1 つ取得されますが、実際にはロール テーブルに多くのロールが作成されています。

何が欠けているか教えてもらえますか?

4

2 に答える 2

0

FetchrowArray() はループ内にある必要があります。これはOTRSドキュメントの例です:

$DBObject->Prepare(
    SQL   => "SELECT id, name FROM table",
    Limit => 10
);

while (my @Row = $DBObject->FetchrowArray()) {
    print "$Row[0]:$Row[1]\n";
}

代わりに SelectAll を使用する必要があると思います。SelectAll() は、配列ではなく配列参照を返します。

于 2013-09-04T14:58:20.780 に答える