gpt4 book ai didi

mysql - perl 中的 fetchrow_hashref 问题

转载 作者:行者123 更新时间:2023-11-29 05:11:22 25 4
gpt4 key购买 nike

我无法使用以下代码正确检索输出。请帮我整理一下。

我得到不同的输出以在 MySQL 和 Perl 中运行。

截至目前,当我使用 Dumper 时它返回 undef。但我希望它显示为空。

    $reactivate_sth = $dbh->prepare("
SELECT
a,
b
FROM
table
WHERE
c = ?
AND
d = ?
ORDER BY
date DESC
");
$reactivate_sth->execute($c, $d);
print $result = $reactivate_sth->fetchrow_hashref();

输出:

MySQL:

Empty set (0.00 sec)

Perl:

HASH(0x3068198)

数据::转储器

VAR1 = undef

最佳答案

您必须使您的代码更具可读性。使用 heredoc 来引用 SQL 语句通常很有用,就像这样

my $reactivate_sth = $dbh->prepare(<<END_SQL);
SELECT a, b
FROM table
WHERE c = ? AND d = ?
ORDER BY date DESC
END_SQL

$reactivate_sth->execute($c, $d);

my $result = $reactivate_sth->fetchrow_hashref;

现在 $result 是一个对散列的引用,因为您调用了 fetchrow_hashref 方法。如您所见,打印它会产生类似于 HASH(0x1cc5a8) 的内容。您需要访问哈希的元素才能理解结果

在那之后,我不知道你想要什么输出。您可以使用核心 Data::Dumper 模块来显示您检索到的记录,如下所示

use Data::Dumper;
print Dumper $result;

这有帮助吗?你还没有要求更多

关于mysql - perl 中的 fetchrow_hashref 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com