Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP generiert dynamisches PDO-Insert

Vergessen Sie bindParam , verwenden Sie einfach execute und übergebe ihm die Werte von $array :

$STH->execute($array);

Alternativ könnten Sie die benannten Parameter komplett streichen, um Ihren Code ein wenig zu vereinfachen:

$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));