У меня есть массив значений, которые я пытаюсь вставить в базу данных. В настоящее время ниже вставляет только первую ключевую пару значений в массиве, а затем возвращается ошибка:PHP Вставка значений массива в подготовленный MySQL отчет
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error' in /_/components/php/functions.php:33
Stack trace:
0 /_/components/php/functions.php(33): PDOStatement->fetchAll()
1 /testdb.php(44): Photo\DB\query('INSERT into cat...', Array, Object(PDO))
2 {main} thrown in /_/components/php/functions.php on line 33
линия 33 в functions.php находится в этой функции
function query($query, $bindings, $conn){
$stmt = $conn->prepare($query);
$stmt->execute($bindings);
$results = $stmt->fetchAll(); <---line 33
return $results ? $results : false;
}
Основной код
foreach ($sitecategories as $key => $value) {
// print "this is key $key and this is value $value";
if ($conn) {
$catquery=query("INSERT into categories (cat_id, label) VALUES (:catid, :label)",
array('catid'=>$key, 'label'=>$value),
$conn);
} else {
print "could not connect to the database";
}
}
Таким образом, я подключаю OK к БД (в другом месте кода), и первая пара значений ключа вставлена успешно, но не остальная часть массива. Я предполагаю, что мой синтаксис некорректен где-то в
array('catid'=>$key, 'label'=>$value),
но я не могу понять это. Любая помощь очень ценится!
Большое спасибо! Цените свое время. –