PHP generuje dynamiczną wstawkę PDO
Poniższy kod powinien wstawiać każdą parę klucz-wartość w tablicy do wartości kolumny wartości matematycznej w tabeli. Skrypt nie zwraca błędów, ale wstawiony wiersz zawiera tylko ostatnią wartość w tablicy
Na przykład.
array('one'=>1,'two'=>2,'three'=>3);
wstaw wiersz z powodzeniem w tabeli z kolumnami jeden, dwa i trzy, ale wstaw wartość 3 w ogóle.
$columns = array();
$bind = '';
foreach($array as $key => $value){
$columns[] = $key;
}
$columnString = implode($columns,',');
$valueString = implode($columns,',:');
$valueString = ':' . $valueString;
$core = core::getInstance();
$STH = $core->dbh->prepare("INSERT INTO table (" . $columnString . ") VALUES
(" . $valueString . ")");
foreach($array as $key => $value){
$STH->bindParam(':' . $key,$value);
}