- 论坛徽章:
- 3
|
程序或者脚本出了问题
1.看报错信息,根据错误提示定位错误
2.如果启动程序什么都没有发生
a.除非作者知道脚本的行为
b.如果不知道脚本在干嘛,果断ctrl+c,在有可能出现问题的函数或者判断的前中后加入print
3.如果程序脚本执行后出现了一个自己不想看到的运行结果,请检查所有涉及到的参数在数据流中的变化。可以使用断点调试或者打印出计算结果
4.如果定位到是调用的包或者包中调用的函数出了问题,请仔细阅读说明文档以及源码。
5.超出了自己能力以及理解范围,果断百度,或者找个社区发帖求助
楼主你单写个链接数据库的脚本,看看有没有问题
我这里链接没有问题 运行结果返回了test1是不是你测试库中的表名呢?- use DBI;
- use strict;
- my @a0507212830 = ("a0507212830","211.154.132.56","3306","a0507212830","139693");
- my $sql = "SHOW TABLES from a0507212830";
- my @plantable_info = &operate_mysql(@a0507212830,"$sql","select");
- print "$_\n" for(@plantable_info);
- sub operate_mysql
- {
- #&operate_mysql(@db_name,"$sql_word","select|insert");
- my @parameter = @_;
- my $control = $parameter[6];
- my $dbname = $parameter[0];
- my $location = $parameter[1];
- my $port = $parameter[2];
- my $database = "DBI:mysql:$dbname:$location:$port";
- my $db_user = $parameter[3];
- my $db_pass = $parameter[4];
- my $dbh = DBI->connect($database,$db_user,$db_pass);
- my $sql_word = $parameter[5];
- if ( $control eq "select" ){
- my $sth = $dbh -> prepare($sql_word);
- $sth -> execute() or print $dbh->errstr;
- my @result ;
- while (my @value = $sth -> fetchrow_array){
- push @result, @value;
- #print "value : @value\n";
- }
- return @result;
- }
- if ( $control eq "insert" ){
- my $sth = $dbh -> prepare($sql_word);
- $sth -> execute() or print $dbh->errstr;
- }
- }
复制代码 |
|