The following code should insert each key-value pair in an array into a mathing column-value in a table. The script returns no errors but the the inserted row contains only
Forget about bindParam
, just use execute
and pass it the values of $array
:
$STH->execute($array);
Alternatively, you could scratch the named parameters altogether to simplify your code a little:
$columnString = implode(',', array_keys($array));
$valueString = implode(',', array_fill(0, count($array), '?'));
$STH = $core->dbh->prepare("INSERT INTO table ({$columnString}) VALUES ({$valueString})");
$STH->execute(array_values($array));