У меня есть инструкция вставки PDO, которая обновляет таблицу базы данных из представления формы. Есть много полей. Я намеренно использовал те же имена столбцов, что и имена ввода html. Есть ли более простой способ изложения этого кода? В настоящее время у меня есть 30 + $_POST
переменных и предпочитаю более чистое решение через петлю какого-то типа.PDO insert на основе ключей массива в виде имен столбцов
Это моя текущая реализация, я включил, например, несколько полей.
$stmt = $dbh->prepare("INSERT INTO myTable SET Col1 = ?, ColABC = ?, Col123 = ?, ColFoo = ?, ColDEF = ?");
$stmt->execute(
array($_POST['Col1'], $_POST['ColABC'], $_POST['Col123'], $_POST['ColFoo'], $_POST['ColDEF'])
);
Это не избежать почтовой переменных, так что может покинуть базу данных, открытую для инъекции SQL –
Побольше объяснения было бы полезно для ОПА –
@steve Я не присвоенное значения непосредственно в 'insert' заявлении , тогда как заполнители используются, а фактические значения передаются как массив в 'execute'. Надеюсь, что он содержит SQL-инъекцию. – Lepanto