转换 ->numrows 以便在 Perl 中与 DBD::mysql 一起使用
Convert ->numrows for use with DBD::mysql in Perl
我有一些旧代码使用了 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)
我有一些旧代码使用了 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)