0

ファイルの配列の行と同じデータベースのテーブルからすべての列を選択しようとしました。例えば:

TABLE:
id name
1 A
2 B
3 C

FILE:
A
B

AとBだけを選びたい。

私の情報源:

use DBI;
use CGI;    
my $file = '.\input.txt';       # Name the file
    open(FILE, $file) or die("Unable to open file");
    my @data = <FILE>;
    foreach my $line (@data)
    {
      #print $line;
      my $sth = $dbh->prepare("SELECT columnA FROM table WHERE columnA LIKE '%$line%'");
      $sth->execute;
      my $result = $sth->fetchall_arrayref;


      foreach my $row ( @$result ) {
      print "- ";
      print "@$row\n";
      print "<BR />";
      }

     }

しかし、selectうーんの最後の行だけを書き込みます...

OUTPUT I GET

B

OUTPUT I WANT TO GET

A
B

私はこれでそれを試しました:

INPUT:
bengalske_stehno
cesnakova_polievka
drzkova_polievka
kuraci_spiz
polievka_fazulova
polievka_mrkvova
polievka_rybacia

DATABASE:
fasirky
cesnakova_polievka
chlebicek_biskupsky
drzkova_polievka
polievka_fazulova
polievka_mrkvova
polievka_rybacia
bengalske_stehno 

OUTPUT:
- polievka_rybacia 
4

1 に答える 1

2

chomp $line入力ファイルから読み取った後、忘れていたようです。改行はファイルの最後の行に存在しないため、機能します。

于 2013-05-21T09:47:06.197 に答える