行と列を 1 つだけ生成する mysql-query があります。クエリを対話的にチェックすると、結果が表示されます。これが必要です。しかし、使用する
$sth->fetchrow_hashref;
と undef になります。ここで何が間違っているのか誰にも分かりますか? 私はあらゆる方向のあらゆる点に感謝しています.yはあなたの結果を生み出します.
これは、実行の直後に行われます。
sub _get_next_hashref
{
my $self = shift;
if($self->{sth} ne '') {
if(my $hash_ref = $self->{sth}->fetchrow_hashref)
{
return $hash_ref;
} else {
$self->{sth} = '';
return undef;
}
} else {
return undef;
}
}
いくつかの追加情報:
実行されたクエリは で終わるlimit 1
ため、常に 1 つの行のみが存在する必要があります。何らかの理由で、それ以外の場合はより多くの行になるインデータは完全に機能しますが、1 行の結果しか生成しないインデータは機能しません。
$sql = "select sort_order from forum.metatag_sort where metatag=? order by id desc limit 1";
$self->{sth} = $self->{dbh}->prepare($sql);
if($self->{sth}->execute(@args)) {
return _get_next_hashref();
}
@args 内には、メタタグである int のみがあります。
1 より大きい回答を返す場合は問題なく動作しますが、正確に 1 を返す場合は失敗します
。
select count(sort_order) from forum.metatag_sort where metatag=?