0
Connect with mysql and retrive data from the table.

  my $db ="JJusers";
  my $user ="root";
  my $password ="abcdef";
  my $host ="localhost";

  my $dbh =DBI->connect("DBI:mysql:$db:$host",$user,$password);

  my $uDt = $dbh->prepare("select Username,Password from Users");
  my $rv = $uDt->execute;

  print "<script>alert($rv)</script>";

このコードを実行すると、結果が1. データベースでは、データは次のように保存されます。

1, jj, pp(SNO, USERNAME,PASSWORD)

適切なデータを取得できないのはなぜですか?

4

2 に答える 2

0

->execute はクエリ結果 (0, 1, 0E0) のみを返しますが、結果セットは返しません。私にとっては、最善の方法は次のとおりです。

my $res = $dbh->selectall_arrayref('select Username,Password from Users', {Slice=>{}});
# now, you can iterate result.
# for example:
foreach my $row(@$res) {
    print $row->{Username};
}

変数をバインドする必要がある場合は、selectall_arrayref も使用できます。

my $res = $dbh->selectall_arrayref('select Username,Password from Users where id = ?',
    {Slice=>{}}, 1
);
于 2013-09-06T07:42:36.460 に答える