Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите со скриптом к MYSQL
 
 автор: ru_spaik   (27.05.2017 в 10:53)   письмо автору
 
 

Приветствую друзья.
есть таблица в бд, состоит из 5 колонок, все текстовые.
задача из csv файла загружать в эту базу,
как реализовать что бы при загрузке выводил ошибку на файл txt средставми php

  Ответить  
 
 автор: elenaki   (27.05.2017 в 13:10)   письмо автору
 
   для: ru_spaik   (27.05.2017 в 10:53)
 

А если нет ошибки? Загружать не надо?
Записать в файл просто - открыть, записать, закрыть.

Я делала запись содержимого файла в базу и при очень больших объемах. Но ошибки не
записывала, а выводила на экран. Надо?




$file_name = $_GET['path'];   /// имя файла брала из URL
$csvFile = $file_name;
$table = str_replace(".csv", "", $csvFile); ///  имя таблицы = имя файла без раширения

  
///создаем таблицу, если ее нет
$sql_create = "CREATE TABLE IF NOT EXISTS `".$table."` (`pole_1` varchar(20) NOT NULL, `pole_2` varchar(10) NOT NULL, PRIMARY KEY (`pole_2`)) ENGINE=MyISAM DEFAULT CHARSET=utf8";
$result = mysqli_query($g_link,$sql_create) or die($sql_create." ".mysqli_error($g_link)); 


if (($handle_f = fopen($file_name, "r")) !== FALSE)  {
  // проверяется, надо ли продолжать импорт с определенного места
  // если да, то указатель перемещается на это место

  if(isset($_GET['ftell'])){
      fseek($handle_f,$_GET['ftell']);
  }
  $i=0;
  if(isset($_GET['x'])){
      $x=$_GET['x'];
  } else {
      $x = 0;
  }
  
 // построчное считывание и анализ строк из файла
  while ( ($data_f = fgetcsv($handle_f, 1000, ","))!== FALSE) {
 
 $data_str = explode(";", $data_f[0]);
      
      
                              
              $sqlquery = "INSERT IGNORE INTO `".$table."` (`PolicyEnd`, `phone`) ";
              $sqlquery .= ' VALUES ("'.$data_str[0].'", "'.$phone.'") ';              
         
              $result_ins = @mysqli_query($g_link, $sqlquery); /// or die($sqlquery." ".mysqli_error($g_link));                 
 

      if(!strstr($i/5000,'.')){
        print 'Importing record #: '.$x.'<br />';
        flush();
        ob_flush();
      }
        
      if($i==20000){
          
          print '<meta http-equiv="Refresh" content="0; url='.$_SERVER['PHP_SELF'].'?x='.$x.'&amp;ftell='.ftell($handle_f).'&amp;path='.$_GET['path'].'">';
        exit;
      }
      $x++;
      $i++;
        
  }

  fclose($handle_f);
} else {$err = 1; echo "Cannot open file!";}

  Ответить  
 
 автор: confirm   (27.05.2017 в 18:21)   письмо автору
 
   для: elenaki   (27.05.2017 в 13:10)
 

Не советуйте такого никому.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования