【发布时间】:2016-06-17 20:27:49
【问题描述】:
我正在尝试将一个数组插入数据库,我的查询如下:
DBD::mysql::st 执行失败:在 main.pl 第 114 行第 7 行需要 3 个绑定变量时使用 8 个绑定变量调用。
my $sql_in = "INSERT INTO $table VALUES(?,?,?,'','','','')";
my $stmt_in = $dbh->prepare($sql_in) or die "Couldn't prepare statement: ".$dbh->errstr;
$stmt_in->execute($q_num,$datatype,@qq) or die "Couldn't execute statement:".$stmt_in->errstr;
$stmt_in->finish;
@qq 包含以下测试:
报告@其众多问题之一是最近的@扩展 女装销售下滑,这家拥有七家商店的零售商表示将 在其所有商店开始为期三个月的清算销售。 (A) 它的许多问题是最近的 (B) 它的许多问题是最近的 最近 (C) 它的许多问题是最近 (D) 他们的许多问题 是最近的(E)他们的许多问题都是最近的
【问题讨论】:
-
您能否展示创建
@qq的实际代码 -
错误信息显示
@qq有 8 个值,应该包含 3。我们知道它应该包含 3,因为 premare 语句中有 3 个问号。但是我们无法从您的描述中看出它实际包含多少值,也无法判断 prepare 语句是否正确。你的表$table的列名是什么? -
"@qq 包含以下测试" - 这不是很有帮助。
@qq是一个数组,您告诉我们它包含一个标量值。此文本是否拆分为@qq的各个元素?都在$qq[0]?@qq的其他元素中的其他值吗? -
我已经改变了我的方法,但是为了理解:@qq 包含 6 个元素(6 行)。