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

Форум PHP

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

 

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

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

тема: импорт файла в БД
 
 автор: ШИМ   (21.03.2007 в 10:30)   письмо автору
 
 

Не получается импортировать файл в БД

// Устанавливаем соединение с базой данных 
  include "config.php"; 
  // Помещаем содержимое файла в массив $arr 
  // Одна строка файла - один элемент массива 
  $arr = file("test.txt"); 
  // В цикле производим разбор каждой строки 
  // формируем многострочный INSERT-запрос 
  $sql = "INSERT INTO test VALUES "; 
  $i = 0; 
  foreach($arr as $line) 
  { 
    // Разбиваем строку по разделителю 
    $number = explode(";",$line); 
    // Формируем строку многострочного INSERT (1,2...) 
    $order = "($i,"; 
    foreach($number as $num) 
    { 
      $order .= "$num,"; 
    } 
    // Удаляем последнюю лишнюю запятую и 
    // добавляем закрывающую скобку 
    $order = substr($order,0,strlen($order) - 1).")"; 
    $sql .= "$order,";  
    $i++; 
  } 
  // Удаляем последнюю лишнюю запятую и 
  // добавляем закрывающую скобку 
  $sql = substr($sql,0,strlen($sql) - 1); 
  // Выполняем SQL-запрос 
  if(!mysql_query($sql)) 
  { 
    echo $sql."<br>"; 
    echo "Ошибка - ".mysql_error(); 
  } 

содержимое файла test.txt:
NameOne;TextOne
NameTwo;TextTwo

формируется запрос и ошибка:

INSERT INTO test VALUES (0,&#255;&#254;NameOne,TextOne ),(1,NameTwo,TextTwo)
&#206;&#248;&#232;&#225;&#234;&#224; - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 ?>

   
 
 автор: Trianon   (21.03.2007 в 11:10)   письмо автору
 
   для: ШИМ   (21.03.2007 в 10:30)
 

Этот скрипт предназначен для импорта числовых данных, а не текстовых.

   
 
 автор: ШИМ   (21.03.2007 в 11:26)   письмо автору
 
   для: Trianon   (21.03.2007 в 11:10)
 

А да точно!
Нужно как то подработать

   
 
 автор: Trianon   (21.03.2007 в 11:34)   письмо автору
 
   для: ШИМ   (21.03.2007 в 11:26)
 

Совет: воспользуйтесь функцией fgetcsv()

   
 
 автор: ШИМ   (21.03.2007 в 11:43)   письмо автору
 
   для: Trianon   (21.03.2007 в 11:34)
 

Ну это если файл в формате .csv!
А если обычный текстовый, тоже прокатит!
Спасиба, буду пробовать!!!

   
Rambler's Top100
вверх

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