Я уже искал это на сайте, но не смог найти ничего, что отвечало бы на мой вопрос. Что подводит меня к деталям:
Я запрашиваю базу данных, используя простой запрос выбора, реально (с учетом сценария) он никогда не должен возвращать более 5–6 записей. Я просто хочу проверить, было ли возвращено более одного. И если было возвращено более одного, действуйте в соответствии с этим (в операторе else), если только один был возвращен, тогда я продолжаю выполнение сценария.
my $sql = qq { SELECT col1, col2, col3 FROM table WHERE col1 = 'foo' }; my $sth = $dbc->prepare_cached($sql) or die "Could not prepare statement: " . $dbc->errstr; $sth->execute() or die "Could not execute statement: " . $sth->errstr; # Not sure how to efficiently check for more than one row returned and still progress if true... This is my problem! I'm thinking a nested if to see if any rows were returned, and then progress with the check of one or more rows? But how can this me checked (like a count function?) if (my $ref = $sth->fetchrow_hashref()) { # One row was returned... } else { # More than one row was returned... Uh oh! }
Если вы, ребята, знаете ветку, которую я не смог найти и которая отвечает на этот вопрос, просто перенаправьте мою, и я аннулирую эту ветку!
С уважением, BorisTheBulletDodger!