Мне нужно вставить данные массива в базу данных MySQL. Мой код приведен ниже. Проблема в том, что запрос равен
INSERT INTO MyTab (Array) VALUES
(Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array)
Итак, почему я получаю Массив вместо значений массива?
$columns = array();
$values = array();
$columns[] = array('Num','appearanceTime');
$curr_time = new DateTime();
while($row=mysql_fetch_assoc($result_arr)) {
$values[] = array($row['Num_arr'],$curr_time);
}
$cols = implode(",",$columns);
$vals = implode(",",$values);
$query = "INSERT INTO `MyTab` ($cols) VALUES ($vals)";
UPDATE
Этот код возвращает внутреннюю ошибку сервера в строке $vals = implode(...).
$columns = array('Num','appearanceTime','earliestTime');
$values = array();
$curr_time = new DateTime();
while($row=mysql_fetch_assoc($result_arr)) {
$values[] = array($row['Num_arr'],$curr_time,$row['ETA']);
}
$cols = implode(",",$columns);
function get_values($arr) {
return '(' . implode(',', $arr) . ')';
}
$vals = implode(',', array_map('get_values', $values));
$query_queue = "INSERT INTO `MyTab` ('" . $cols . "') VALUES ('" . $vals . "')";
Подробнее здесь: https://stackoverflow.com/questions/121 ... o-mysql-db