[root@wx03 mojo]# cat relink.pl use Mojolicious::Lite; use JSON qw/encode_json decode_json/; use Encode; no strict; no warnings; use JSON; use POSIX; use JSON::RPC::Client; use Data::Dumper; use DBI; # /foo?user=sri` my %hash=(); my $dbUser='DEVOPS'; my $user="root"; my $passwd="R00t,uHagt.xx"; my $dbh = DBI->connect("dbi:mysql:database=$dbUser;host=127.0.0.1;port=3306",$user,$passwd) or die "can't connect to database ". DBI-errstr; get '/api/relink' => sub{ my $c = shift; my @arr2=(); my $env = $c->param('env'); my $hostSql = qq{select ip,info,env from publish_info where env='$env';}; my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9); my $selStmt = $dbh->prepare($hostSql); $selStmt->execute(); $selStmt->bind_columns(undef, \$a1, \$a2,\$a3); while( $selStmt->fetch() ){ print "\$a1 is $a1\n"; print "\$a2 is $a2\n"; print "\$a3 is $a3\n"; push (@arr2, "$a1 $a2 $a3" ); }; $c->render(json => \@arr2); }; app->start; [root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test ["1.1.1.1 aa test"] 停止数据库,启动数据库 [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~] [root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test [][root@wx03 ~]# 代码报错: Server available at http://127.0.0.1:3000 $a1 is 1.1.1.1 $a2 is aa $a3 is test $a1 is 1.1.1.1 $a2 is aa $a3 is test DBD::mysql::st execute failed: Lost connection to MySQL server during query at /root/mojo/relink.pl line 25. DBD::mysql::st bind_columns failed: Statement has no result columns to bind (perhaps you need to successfully call execute first, or again) at /root/mojo/relink.pl line 26. DBD::mysql::st fetch failed: fetch() without execute() at /root/mojo/relink.pl line 27. DBD::mysql::st execute failed: MySQL server has gone away at /root/mojo/relink.pl line 25. DBD::mysql::st bind_columns failed: Statement has no result columns to bind (perhaps you need to successfully call execute first, or again) at /root/mojo/relink.pl line 26. DBD::mysql::st fetch failed: fetch() without execute() at /root/mojo/relink.pl line 27. 没有自动重连
PERL DBI 自动重连问题
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
FFmpeg 7.0重大更新
FFmpeg 7.0 版本重大更新
音视频开发 ffmpeg 音视频编解码 C++11 C++17 -
perl DBI使用详解
使用DBI的方法:--------- 行,因为在与服务器进行连接时
perl dbi 句柄 数组 结果集 -
perl DBI模块入库mysql中文乱码问题
$dbh->do("SETNAMESutf8");
perl mysql 中文乱码