Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Лишние кавычки при импорте из csv в MySQL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: как убрать лишние квычки при загрузке данных в базу?
Kosdnepr
Отправлено: 15 Ноября, 2016 - 16:25:35
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Добрый день.
Возник вопрос: есть файл, в котором в одном из столбцов есть слово в кавычках.
После загрузки файла в MySQL все кавычки оказываются ещё раз взяты в кавычки, т.е.

текст: "Магазин-1" уп. Баха, 7

преобразуется в: """Магазин-1""" уп. Баха, 7

Подскажите пожалуйста, как возможно исправить?


Загружаю так:

PHP:
скопировать код в буфер обмена
  1. $fieldseparator = ";";
  2. $lineseparator = "\n";
  3.  
  4. $db = new mysqli ($databasehost, $databaseusername, $databasepassword, $databasename);
  5.         $db->query("truncate table $databasetable"); // clear existing table
  6.                        
  7.         $lines = 0; // number of a strings
  8.         $linearray = array();
  9.  
  10.         foreach (explode($lineseparator, $csvcontent) as $line) {
  11.                 $lines++;
  12.                 $line = trim ($line, " \t");
  13.                 $line = str_replace("\r", "", $line);
  14.                                
  15.                 $line = str_replace("'","\'",$line);
  16.                                
  17.                 $linearray = explode($fieldseparator, $line);
  18.                 $linemysql = implode("','", $linearray);
  19.                                                    
  20.                 if($lines == 1) {continue;} // pass the title string
  21.                            
  22.         $query = "insert into $databasetable values('$linemysql');";
  23.             $result = $db->query ($query);
  24.         }
 
 Top
Kosdnepr
Отправлено: 16 Ноября, 2016 - 01:16:50
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Дело оказалось в самом экселе, который лепит лишние кавычки при сохранении как csv-файла, который собственно и загружался.
 
 Top
Fart
Отправлено: 16 Ноября, 2016 - 09:36:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


Помог: 10 раз(а)




милота Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB