littus
Новичок
Всем доброго дня!
Есть кусок рабочего кода, который берет данные из одной таблицы БД mySQL и должен их положить в другую таблицу этой же БД.
Нижеприведенный кусок кода работоспособен.
Хочу сделать SQL-запрос на вставку данных с помощью синтаксиса метода подготовленного запроса.
Как это правильно прописать в данном случае?
Спасибо.
Есть кусок рабочего кода, который берет данные из одной таблицы БД mySQL и должен их положить в другую таблицу этой же БД.
Нижеприведенный кусок кода работоспособен.
Код:
// Выборка нужных записей и формирование массива данных
$sql = "SELECT id, name, email, theme, text, datetime FROM $name_table WHERE id IN ($id_string)";
$result_sql= $this->_db->query($sql);
$result_set-> fetch_all(MYSQLI_ASSOC);
// Преобразование рез.выборки ($result_set) и пересохранение в корзину (trashboxes)
$string= array(); // инициал.массив для строки с склеинными запятой переменными
foreach ($result_set as $result) { // main foreach
$value= array(); // промежуточный массив для значения переменных
foreach ($result as $item) { $value[]= "'".$item."'"; }
$string[]= '('.implode("," ,$value). ')';
} // main foreach END
$sql = "INSERT INTO trashboxes(id, name, email, theme, text, datetime) VALUES".implode(',',$string);
$result2_sql= $this->_db->query($sql);
Хочу сделать SQL-запрос на вставку данных с помощью синтаксиса метода подготовленного запроса.
Код:
$sql = "SELECT id, name, email, theme, text, datetime FROM $name_table WHERE id IN ($id_string)";
$result_sql= $this->_db->query($sql);
$result_set-> fetch_all(MYSQLI_ASSOC);
// Преобразование рез.выборки ($result_set) и пересохранение в корзину (trashboxes)
$string= array(); // инициал.массив для строки с склеинными запятой переменными
foreach ($result_set as $result) { // main foreach
$value= array(); // промежуточный массив для значения переменных
foreach ($result as $item) { $value[]= "'".$item."'"; }
$string[]= '('.implode("," ,$value). ')';
} // main foreach END
$sql = "INSERT INTO trashboxes(id, name, email, theme, text, datetime) VALUES".implode(',',$string);
$stmt->prepare($sql);
foreach($result_set as $item){
$stmt->bind_param("i", $item['id']);
$stmt->bind_param("s", $item['name']);
$stmt->bind_param("s", $item['email']);
$stmt->bind_param("s", $item['theme']);
$stmt->bind_param("s", $item['text']);
$stmt->bind_param("i", $item['datetime']);
}
$stmt->execute(); /* выполняем запрос */
Спасибо.
Последнее редактирование: