【发布时间】:2014-06-17 12:17:13
【问题描述】:
我有一个包含多行的关联数组,如下所示:
Array
(
[0] => Array
(
[ID] => 37
[category name] => Cell Phone
)
[1] => Array
(
[ID] => 38
[category name] => LED Light
)
等等……
我有以下函数可以使用 PDO 将数据插入到我的数据库中。
function PDOBindArray($poStatement, $paArray){
foreach ($paArray as $k=>$v){
$poStatement->bindValue(':'.$k,$v);
}
}
这是我的插入语句:
$stmt = $conn->prepare("INSERT INTO subcategory (cb_category_id,subcategory_name) VALUES (:ID,:category name)");
PDOBindArray($stmt,$data);
$stmt->execute();
插入时出现以下错误:
无效的参数号:绑定变量的数量与标记的数量不匹配
我知道这很愚蠢。但是我找不到它...
【问题讨论】:
-
:category name应该是:category_name并且在数组中相同。 -
我们可以使用引号吗?我试过了,有点不成功。我从外部源获取这个数组,从 csv 文件转换而来。还有其他方法吗
-
str_replace(' ', '_', $k)? -
str_replace(' ', '_', $v) 参数号无效:绑定变量数与标记数不匹配
-
您还有其他一些问题