如何从Perl中的MySQL获取最后一个错误

时间:2019-07-08 21:15:28

标签: mysql perl dbi

我正在Perl中使用DBI来访问MySQL。

return DBI->connect('DBI:mysql:MyBase:localhost', 'user', 'pass');
…
my $query = $connection->prepare($command);
my $result = $query->execute();
$query->finish;

我希望不能使用死或尝试。我只希望能够执行MySQL命令,然后在下一次调用时检查错误类型。

这可能吗?

1 个答案:

答案 0 :(得分:2)

connect所述:

“如果连接失败(请参见下文),它将返回undef并设置$ DBI :: err和$ DBI :: errstr。(它没有显式设置$!。)通常应测试连接的返回状态并打印$ DBI :: errstr如果失败了。”

有了句柄后,必须在每个数据库或语句句柄方法调用之后检查err方法,并且在发生错误的情况下errstr同样表示错误消息。

强烈建议使用DBIx::ConnectorMojo::Pg这样的包装程序,并且确实要求设置RaiseError,这样可以避免此代码混乱以及您忘记检查的机会错误。