Mysql преобразование нескольких операторов вставки в один

У меня есть сценарий для загрузки файла excel и вставки данных из файла xlsx в таблицу mysql. Это так

<?php require_once('Connections/met.php'); $file = './uploads/windrose_data.xlsx'; if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { $msg="File upload successful"; $db=mysql_select_db($database_met,$met); set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/'); include 'PHPExcel/IOFactory.php'; // This is the file path to be uploaded. $inputFileName = $file; try { $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); } catch(Exception $e) { die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } $allDataInSheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $arrayCount = count($allDataInSheet); // Here get total count of row in that Excel sheet for($i=2;$i<=$arrayCount;$i++){ $date = trim($allDataInSheet[$i]["A"]); $time = trim($allDataInSheet[$i]["B"]); $dir = trim($allDataInSheet[$i]["C"]); $spd = trim($allDataInSheet[$i]["D"]); $insertTable= mysql_query("insert into wr_copy (date,time,dir,spd) values('$date', '$time',$dir,$spd)") or die(mysql_error()); $msg=$i-1." records inserted into the table"; } echo $msg; } else { echo "Upload Failed"; } ?> 

здесь для каждой строки в excel выполняется один оператор insert., затем я отправляю ответ с использованием переменной итерации в виде числа вставленных записей. Есть две проблемы: одна, я хочу использовать один оператор insert, который можно использовать для вставки всех строк в excel. Вторая проблема заключается в использовании итерации значений переменных как нет. записей может быть проблемой, потому что запрос может не выполняться, если есть какая-либо ошибка в данных. Может ли кто-нибудь предложить работу для этого?

Для создания одного утверждения:

 $statement = 'insert into wr_copy (date,time,dir,spd) values'; $values = []; for($i=2;$i<=$arrayCount;$i++){ $date = trim($allDataInSheet[$i]["A"]); $time = trim($allDataInSheet[$i]["B"]); $dir = trim($allDataInSheet[$i]["C"]); $spd = trim($allDataInSheet[$i]["D"]); $values[] = "('$date', '$time',$dir,$spd)"; } $statement .= implode(',',$values); 

Чтобы получить реальные числа вставленных записей (я скопировал здесь пример и изменил его):

 $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* prepare statement */ if ($stmt = $mysqli->prepare($statement)) { /* execute statement */ $stmt->execute(); printf("rows inserted: %d\n", $stmt->affected_rows); /* close statement */ $stmt->close(); } /* close connection */ $mysqli->close(); ?> 
  • PHP: Экспорт таблицы HTML в Excel включает всю форму?
  • PHPExcel вставляет 38 из 48 строк в MySQL из файла xlsx
  • проблема в расширении строкового ограничения в генерации файла excel
  • Преобразование XLSX в JSON
  • PHP Excel не может читать таблицу Excel 4.0
  • PHPExcel Сортировка листа и создание нового листа
  • Экспорт данных MySQL в Excel
  • Экспорт Excel добавляет апострофию с номером, начинающимся с 0
  • экспортный результат поиска твита для Excel
  • Как экспортировать в excel из php, ведущего с нулями
  • создать файл .xls и отправить его по почте с помощью php
  • Давайте будем гением компьютера.