我从数据库查询中获取数据,但我需要更新数组。
sub get_query_data{
my ($self, $user_id) = @_;
my $sql_query = "Select * from table";
my ( $returndata ) = $self->_exec_and_fetch_all( $sql );
for ( @$returndata ) {
push( @$_, 'replace me' );
}
return $returndata;
}
在循环数据时,如何替换第三个元素? 查询中有数据返回,但上面的数据无效。
答案 0 :(得分:2)
如果$self->_exec_and_fetch_all
可以返回undef
,
my $rows = $self->_exec_and_fetch_all($sql);
if ($rows) {
for my $row (@$rows) {
$row->[2] = 'replaceme';
}
}
return $rows;
否则,
my $rows = $self->_exec_and_fetch_all($sql);
for my $row (@$rows) {
$row->[2] = 'replaceme';
}
return $rows;
或
my $rows = $self->_exec_and_fetch_all($sql);
$_->[2] = 'replaceme' for @$rows;
return $rows;