为什么我使用Perl的DBI-> connect会无声地失败?

前端之家收集整理的这篇文章主要介绍了为什么我使用Perl的DBI-> connect会无声地失败?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这段代码会无声地失败?我如何让它向我展示sql错误究竟是什么?

$dbh=DBI->connect($db_name,$db_user,$db_pass);

我将代码修改为如下所示:

$dbh=DBI->connect($db_name,$db_pass)
    or die("could not connect to db: $db_name");

而不是允许我使用$dbh unassigned,它将按预期失败,但它并没有告诉我它为什么失败.就我所见,$db_name等的值都设置为有效值.

我知道真正的错误(MysqL服务器实际上没有运行)但是为了将来的参考,我希望看到真正的错误,例如我导致auth失败.

解决方法

您没有看到连接失败的原因,因为您没有按照 DBI所示的那样做.错误将在$DBI :: errstr变量中:

$dbh = DBI->connect($data_source,$username,$password)
     or die $DBI::errstr;

确保您阅读了要使用的任何功能方法的文档.

猜你在找的Perl相关文章