当sqlite返回多行时,如何获得结果列表?

inf*_*oop 1 regex sqlite perl

这就是我的表格:

key | driver  | machine     | result
-----------------------------------
1   | 1234    | abc_machine | pass
2   | 1234    | xyz_machine | fail
Run Code Online (Sandbox Code Playgroud)

当用户从驱动程序中选择"1234"时,所有来自机器的东西都会变得有点混乱.(用户从gui中选择)

当我做:

$getConfig = `sqlite3 abc.db "SELECT machine FROM $table_name WHERE driver='$drvrSel'"`;
Run Code Online (Sandbox Code Playgroud)

它给了我abc_machine xyz_machine.

我尝试将它们分开使用split(/ /, $getConfig),但不起作用.

谢谢.

如果我在错误的地方提出这个问题,我很抱歉.我试着寻找合适的地方但找不到它.

Can*_*der 5

#!/usr/bin/perl

use DBI;
use strict;

my $dbargs = {AutoCommit => 0, PrintError => 1};

my $dbh = DBI->connect("dbi:SQLite:dbname=test.db","","",$dbargs);
my $sth = $dbh->prepare("SELECT machine FROM test WHERE driver = 1234");
$sth->execute();

my @data;

while (@data = $sth->fetchrow_array()) {
    print $data[0] . "\n";
}

$sth->finish;
$dbh->disconnect;
Run Code Online (Sandbox Code Playgroud)

  • 即使在特定情况下没有必要,呼叫完成也是一种很好的做法.如果你总是打电话,你不会忘记在需要时打电话.如果你不总是打电话,你可能会忘记在需要时打电话.:) (2认同)