我有一些旧代码使用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)