小编use*_*982的帖子

在cgi-bin/test.pl中使用"strict subs"时,不允许使用Bareword"ident"

我试图在两个单独的数据库中采用两个单独的表,并将这些字段相互比较.我写了下面的代码来演示我遇到的问题,因为我无法复制我正在使用的代码.在下面的示例中,我使用的是一个数据库.在代码示例下面,我将提供每个表的转储.在任何情况下都有更好的描述.

reference_table保存original_table中列出的记录.我无法控制original_table的内容.获取这些记录后,在original_table中编辑信息的人员可以更新任何字段,或者他们可以彻底删除该条目.

我的目标是,当回到original_table时,将字段状态更新为禁用,其中original_table中的任何字段不再与我在reference_table中的记录匹配.查看转储时,您会注意到一个名为unique_id的字段.这是original_table的id.

我遇到的两个主要问题是使用reference_table的ident来更新reference_table中的状态,并正确地看到表的相似性.

#!/usr/bin/perl
use strict;
use DBI;
use Data::Dumper;

my $dbh = DBI->connect('dbi:mysql:test','user','password',
    {
            RaiseError => 1,
            AutoCommit => 0
    }
) || die "Database connection not made: $DBI::errstr";

my $sql     = "SELECT * FROM original_table";
my $sth     = $dbh->prepare( $sql ) or die $dbh->errstr;
              $sth->execute() or die $sth->errstr;

my @original;
while (my $data = $sth->fetchrow_hashref()){
    push(@original, $data);
}

my $sql     = "SELECT * FROM reference_table";
my $sth     = $dbh->prepare( $sql ) or die $dbh->errstr;
              $sth->execute() or die …
Run Code Online (Sandbox Code Playgroud)

mysql arrays perl loops if-statement

1
推荐指数
1
解决办法
2411
查看次数

标签 统计

arrays ×1

if-statement ×1

loops ×1

mysql ×1

perl ×1