exDoctor
@exDoctor
Программист level0010

Массивы в INSERT INTO VALUES?

Добрый вечер.
Есть у меня три массива, вот с такими данными:
массивы жамк

Array
(
[0] => 01.01.2018
[1] => 02.01.2018
[2] => 03.01.2018
[3] => 04.01.2018
[4] => 05.01.2018
[5] => 06.01.2018
[6] => 07.01.2018
[7] => 08.01.2018
[8] => 09.01.2018
[9] => 10.01.2018
[10] => 11.01.2018
[11] => 12.01.2018
[12] => 13.01.2018
)
Array
(
[0] => -14
[1] => -19
[2] => -20
[3] => -20
[4] => -20
[5] => -21
[6] => -19
[7] => -20
[8] => -21
[9] => -23
[10] => -22
[11] => -22
[12] => -19
)
Array
(
[0] => 0.0
[1] => 0.0
[2] => 0.0
[3] => 0.0
[4] => 0.0
[5] => 0.0
[6] => 0.0
[7] => 0.0
[8] => 0.0
[9] => 0.0
[10] => 0.0
[11] => 0.0
[12] => 0.0
)


Пытался добавлять эти массивы в mysql вот такой конструкцией:
$query = "INSERT INTO `tabl` (`date`, `level`, `temp`) VALUES ('".implode("'), ('", $new_date)."','".implode("'), ('", $new_level)."','".implode("'), ('", $new_temp)."')";


Выходит ошибка Column count doesn't match value count at row 1

Собственно если эти массивы из одного элемента:
Array
(
[0] => 13.01.2018
)
Array
(
[0] => -19
)
Array
(
[0] => 0.0
)


То все работает хорошо. Как быть если массивы не из одного элемента?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@Snatch87
Битриксоид по принуждению
Попробуйте воспользоваться циклами
Примерно так:
//....... тут ваши массивы $array1 , $array2, $array3
	$valuesSting = "";

	for($i = 0; $i < count($array), $i++){
		if($valuesSting != "")
			$valuesSting .= ",";
                // можно ещё проверить существование переменных 
		$valuesSting .= "('".$array1[$i]."', '".$array2[$i]."', '".$array3[$i]."')";
	}

	$query = "INSERT INTO `tabl` (`date`, `level`, `temp`) VALUES ".$valuesSting;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
SaveTime Москва
от 140 000 до 200 000 руб.
Интерно Ростов-на-Дону
от 35 000 до 50 000 руб.
22 янв. 2019, в 13:15
2000 руб./за проект
22 янв. 2019, в 13:10
500 руб./за проект
22 янв. 2019, в 12:48
7000 руб./за проект