Mysql 具有一个值的简单查询,但获取的参数编号无效:绑定变量的数量与令牌的数量不匹配

Mysql 具有一个值的简单查询,但获取的参数编号无效:绑定变量的数量与令牌的数量不匹配,mysql,pdo,Mysql,Pdo,这是要插入的数组 Array ( [0] => Other property, plant and equipment ) 这就是查询 INSERT INTO 1_1_chartofaccounts (LocationInBalanceorPLS) VALUES (?); 得到 怎么了 最初的代码如下: $stmt = $db->prepare($sql); $stmt->execute($insertData); 然后改成 $stmt = $db->prepare

这是要插入的数组

Array ( [0] => Other property, plant and equipment )
这就是查询

INSERT INTO 1_1_chartofaccounts (LocationInBalanceorPLS) VALUES (?);
得到

怎么了

最初的代码如下:

$stmt = $db->prepare($sql);
$stmt->execute($insertData);
然后改成

$stmt = $db->prepare($sql);
$stmt->bindParam(1, $insertData);
$stmt->execute();

现在不要看到错误。但是,我不明白为什么在第一个示例中get error

我相信
execute()
不接受任何输入或数组(请参阅:)。所以
$stmt->execute(数组($insertData))会有用的。您是否已尝试使用索引为1的数据数组?:)似乎在创建
$insertData
时犯了愚蠢的错误(设置条件并得到意外的结果)。已改变的条件和所有预期工程
$stmt = $db->prepare($sql);
$stmt->bindParam(1, $insertData);
$stmt->execute();