在 Perl 中转换 ->numrows 以与 DBD::mysql 一起使用



我有一些旧代码使用Perl中的旧Mysql库。

大多数情况下,更新代码以使用DBD::mysql不会出现任何问题,但我遇到了->numrows不起作用的问题。

在使用DBD::mysql 时,我应该做些什么才能获得相同的功能

使用Mysql

use Mysql;
$type = "yellow";
$statement = "select name from customer where type = '$type'";
$sth = $dbh->query($statement);
if ($sth->numrows) {
  print "Success!"; # This does work.
}

使用DBD::mysql

use DBI;
use DBD::mysql;
$type = "yellow";
$statement = "select name from customer where type = ?";
$sth = $dbh->prepare($statement);
$sth->execute($type);
if ($sth->numrows) {
  print "Success!"; # This doesn't work.
}

这是我得到的错误:

tail/var/log/apache2/error.log

 Can't locate object method "numrows" via package "DBI::st"

我认为您应该使用

if ($sth->rows)

相关内容

  • 没有找到相关文章

最新更新