PHP. MySQL. PDO

261
26 мая 2017, 12:55

Есть такой код

$data = array('Cathy', '9 Dark and Twisty Road', 'Cardiff');  
$STH = $DBH->prepare("INSERT INTO folks (name, addr, city) values (?, ?, ?)");  
$STH->execute($data);

Он вместо VALUES скидывает массив $data. А есть ли метод, который передает массив не вместо VALUES а вместо атрибутов.

Answer 1

Можно пойти обходным путем и сделать вот так:

$fields_array = array('name', 'addr', 'city');
$fields = implode(', ', $fields_array);
$data = array('Cathy', '9 Dark and Twisty Road', 'Cardiff');  
$STH = $DBH->prepare("INSERT INTO folks ($fields) values (?, ?, ?)");  
$STH->execute($data);

В результате получится что мы вставили в запрос поля в которые потом вставим данные, решение думаю не из лучших, но если действительно так нужно, то думаю это единственный выход.

READ ALSO
Не соединяет результат двух таблиц

Не соединяет результат двух таблиц

Надо объединить результат с двух таблиц

265
Защита своего приложения

Защита своего приложения

ЗдравствуйтеИмеется приложение с встроенными покупками, рекламой

231
Магия в Java Substring

Магия в Java Substring

Столкнулся со следующим непониманием, при переносе кода на c# под javaНужно вытащить из строки символов подстроку, взять, начиная с некоторой...

197