txt => MySQL

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 2 дек 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    КОД
    <php
    $r2=fopen($filenamepost,'r2') or die ("Error post txt file");
    $text=fread($r2,filesize($filenamepost));
    $sql = "INSERT INTO table (name, text) VALUES ('$name', '$text')";
    $result = mysql_query($sql);
    fclose($r2);
    ?>
    Если загружаемый файл, имеет не большой размер ~10 КБ, то всё добавляется без проблем.
    Но если файл свыше данного объёма, то скрипт отрабатывает без ошибок, при этом не делает запись в БД.

    Заранее спасибо за помощь.
     
    Iwashka нравится это.
  2. unsiker

    unsiker

    Регистр.:
    6 июн 2008
    Сообщения:
    465
    Симпатии:
    172
    какой тип поля text?
     
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Тип поля longtext
     
    Iwashka нравится это.
  4. Crazy108

    Crazy108 Создатель

    Регистр.:
    6 сен 2008
    Сообщения:
    45
    Симпатии:
    7
    попробуйте для начала заменить строку

    $sql = "INSERT INTO table (name, text) VALUES ('$name', '$text')";

    на

    $sql = "INSERT INTO table (name, text) VALUES ('".$name."', '".mysql_escape_string($text)."')";

    Если такой финт ушами не прокатит, попробуйте разбить фалы на несколько частей.
     
  5. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    В твоём примере проще пользоваться file_get_contents вместо fopen/fread.

    По запросу - замени $sql = "INSERT INTO table (name, text) VALUES ('$name', '$text')"; на echo $sql = "INSERT INTO table (name, text) VALUES ('$name', '$text')";
    воткни этот запрос в консольку и увидишь в чём ошибка.
     
    LEXAlForpostl нравится это.
Статус темы:
Закрыта.