- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在读取 MySQL 时遇到了一些奇怪的错误,我的代码是这样的:
my $sql = <<"sqleof";
select t1.name t1_name, t2.name t2_name from t2
inner join t1 using(Id)
where t2.Id in (select Id from t3 where t3Id='$id')
sqleof
#here $dbh had connected correctly and done some query before this; $sql can execute pretty well on MySQL command line and return me some records.
my $execute = $dbh->prepare($sql);
$execute->execute or die "Error: $DBI::errstr\n";
my @client = $execute->fetchrow_array() or die "Error: $DBI::errstr\n";
#here I got error saying: DBD::ODBC::st fetchrow_array failed: Unable to fetch information about the error
有什么问题?
大家好,打扰了。我找到了原因。这是一个低级别的错误,因为我使用了多个 $dbh 并且我弄错了执行名称。
my $execute_A = $dbh->prepare($sql);
$execute_A->execute or die "Error: $DBI::errstr\n";
my @client = $execute_B->fetchrow_array() #$execute_B here when I copied lines and modified.
您的帮助对我来说非常重要。谢谢大家。
最佳答案
替换
my @client = $execute->fetchrow_array() or die "Error: $DBI::errstr\n";
与
my @client = $execute->fetchrow_array();
你正在获取空数组,这不适合作为 ..or die ..
建议的错误检查。
.. or die ..
仅对 prepare
和 execute
方法有意义。
旁注,您还缺乏适当的错误检查:
my $execute = $dbh->prepare($sql) or die $dbh->errstr; # not $DBI::errstr
$execute->execute or die $execute->errstr; # not $DBI::errstr
另外,使用sql占位符来防止sql injection .
关于mysql - Perl DBD fetchrow_array 错误 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20664164/
我遇到了以下问题。我有一个存储过程,用于更新数据或将数据插入数据库,称为 UpdateData。它看起来大致像这样(虽然经过简化): CREATE PROCEDURE [dbo].[UpdateDat
我正在编写一个名为“hlstats.pl”的脚本,它是来自 http://www.hlstats-community.org/ 的半条命游戏的统计服务器 我正在尝试使用 MySQL 在 Windows
我想我可以把它分成两个问题。 1.如果我想一步完成以下某件事该怎么办? if($sth->fetchrow_array is empty /undef){ @parent = @default
我在读取 MySQL 时遇到了一些奇怪的错误,我的代码是这样的: my $sql = prepare($sql); $execute->execute or die "Error: $DBI::err
我正在使用 Perl 脚本从数据库中提取 URL,其中使用 fetchrow_array 从数据库中提取 URL,该脚本工作正常,直到我遇到一个很长的 URL georgelog24.blog.isk
我创建了一个 Perl 脚本,用于循环遍历数组(满足特定条件的客户的候选名单),使用 system() 执行外部命令,然后在操作完成后更新每一行中的字段. 它适用于第一条记录(即外部命令执行、客户记录
使用 Python 连接到 Oracle 时是否有与 perl fetchrow_array 等效的函数? 我本质上是试图将以下 perl 代码翻译成 python 以便与 cx_Oracle 一起使
sub completecheckout { $cryptedcard = md5_hex($cardnum . $salt); $grabcart = qq~select pid f
fetchrow_hashref 工作正常,但是当我使用 fetchrow_array 时出现以下错误。 #!/usr/bin/perl use warnings; use DBI; $DB_name
运行此 perl 脚本时出现此错误 DBD::mysql::st fetchrow_array 失败:fetch() 未在 ai_light_warehouse.pl 第 174 行执行DBD::my
迁移到新服务器后,在执行 SELECT 查询时,如果请求的列值为 NULL,Perl 的 DBI::fetchrow_array() 返回看似空字符串:defined() 返回 1,length()
我知道: $sth->fetchrow_hashref返回从数据库中获取的行的 hashref, $sth->fetchrow_arrayref返回从数据库中获取的行的数组引用,和 $sth->fet
我收到以下代码的错误: #!C:/usr/bin/perl -w use CGI; use strict; use DBI(); use CGI::Carp qw(fatalsToBrowser);
我是一名优秀的程序员,十分优秀!