За последние 24 часа нас посетили 17807 программистов и 1283 робота. Сейчас ищет 1431 программист ...

Проблема переноса, информации, из текстового файла в MySqL

Тема в разделе "PHP для новичков", создана пользователем volchonokbek, 22 апр 2011.

  1. volchonokbek

    volchonokbek Активный пользователь

    С нами с:
    9 апр 2011
    Сообщения:
    14
    Симпатии:
    0
    Контент моего сайта, я размешал, в текстовых файлах. Но теперь я хочу перенести все данные в MySqL. Я написал небольшой скрипт. Но увы не работает. Бюсь уже 4 часа помогите кто может.
    Вот скрипт:

    PHP:
    1. <?php
    2. $path = "/home/root/public_html/data/content.txt";
    3. $fh = fopen($path,'r') or die("can't open: $php_errormsg");
    4.   $con       =      mysql_connect("localhost", "root", "Tronenteparolvi%%u!");
    5. $selectdb  =      mysql_select_db("a4505125_site", $con);
    6. while (! feof($fh)) {
    7. $s = rtrim(fgets($fh));
    8. $tttt =1+ $i++;
    9. $time =  @date("D, d F Y h:i:s",$s);
    10. list($a,$b,$c,$d,$e,$f,$g,$h,$s) = explode('|',$s);
    11.  mysql_query("INSERT INTO content (id, turn, auhtor, category, title, text, full_text, comment, time)
    12. VALUES
    13. (NULL, '$tttt','$b','$g','$c','$d','$e','Перенос на MySQL','$time')",$con)or die ("ERR");
    14. }
    15. mysql_close($con)  ;
    16. fclose($fh) or die("can't close: $php_errormsg");
    17. $sir = $i++ ;
    18. $sss= isset($sir);
    И что меня злит, если вывести, из массива, запрос в БД все работает!!! (( А мне надо чтоб все строки из текста были введены в БД
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    во-первых вместо die ("ERR"); пишем die(mysql_error()); и читаем.

    во-вторых - уточни что именно не работает. Строки не вставляет или что?
     
  3. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    запрос неверно составлен
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нулл в айдишник наверное пихать не нужно?..
     
  5. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    igordata вроде можно
     
  6. volchonokbek

    volchonokbek Активный пользователь

    С нами с:
    9 апр 2011
    Сообщения:
    14
    Симпатии:
    0
    Да не вставляет. Но я понял почему. В текстовом файле в строках есть специальные знаки ( ' ) Вы были правы mysql_error() очень помог.

    нет дело в спец символах
     
  7. volchonokbek

    volchonokbek Активный пользователь

    С нами с:
    9 апр 2011
    Сообщения:
    14
    Симпатии:
    0
    PHP:
    1.  
    2. <?
    3. $h_b =  htmlspecialchars($b, ENT_QUOTES);
    4.  $h_c = htmlspecialchars($c, ENT_QUOTES);
    5.  $h_d =  htmlspecialchars($d, ENT_QUOTES);
    6.  $h_e = htmlspecialchars($e, ENT_QUOTES);
    7.  
    8.   mysql_query("INSERT INTO content (id, turn, auhtor, category, title, text, full_text, comment, time)
    9. VALUES
    10. (NULL, '$tttt','$h_b','$g','$h_c','$h_d','$h_e','Перенос на MySQL','$time')",$con)or die (mysql_error());
    11. }
    12. ?>
    Вот так вот заработало всем спасибо,
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    volchonokbek
    ммм... вобще-то есть у мускула есть собственная процедура экранирования...
     
  9. volchonokbek

    volchonokbek Активный пользователь

    С нами с:
    9 апр 2011
    Сообщения:
    14
    Симпатии:
    0
    Посвятите пожалуйста. :oops:
     
  10. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0