【发布时间】:2010-10-22 13:31:37
【问题描述】:
我已经在网站上搜索过此内容,但找不到任何可以回答我问题的内容。这让我想到了细节:
我正在使用简单的选择查询来查询数据库,实际上(给定场景)它不应该返回超过 5 到 6 条记录。我只是想检查是否已退回多个。如果已经返回了多个(在 else 语句中),如果只返回了一个,那么我会继续执行脚本。
我的 $sql = qq { 选择 col1,col2,col3 从表 在哪里 col1 = 'foo' }; 我的 $sth = $dbc->prepare_cached($sql) 或 die "Could not prepare statement:" 。 $dbc->errstr; $sth->execute() 或 die "Could not execute statement:" 。 $sth->errstr; # 不知道如何有效地检查返回的多于一行,如果为真,仍会继续进行......这是我的问题!我在想一个嵌套的 if 来查看是否返回了任何行,然后检查一行或多行?但是我该如何检查(比如计数功能?) if (我的 $ref = $sth->fetchrow_hashref()) { # 返回一行... } 别的 { # 不止一行返回了...呃哦! }如果你们知道我找不到一个回答这个问题的帖子,只需重定向我的帖子,我就会取消这个帖子!
问候, BorisTheBulletDodger!
【问题讨论】:
-
返回多于一行时,else中会做什么工作?
-
我将记录一个错误,指出此查询存在重复行。