Запись в БД - все поля записаны в одну ячейку

Тема в разделе "Решение проблем с использованием программы", создана пользователем pps88, 13 апр 2015.

  1. pps88

    pps88 New Member Пользователи

    Регистрация:
    3 янв 2015
    Сообщения:
    24
    Собственно пробую писать напрямую в БД при парсинге, но возникает проблема: данные всех полей передаются в одну ячейку.
    Имею:
    PHP:
    <PHP_SCRIPT=http://site.ru/addDB.php[UTF-8]>movieid=[DATAENCODE][FIRST_REPLACE(http://www.site2.ru/pp{skip}|{skip})]<CD_DOCURL!>[/FIRST_REPLACE][/DATAENCODE]moviename=[DATAENCODE]<CD_GRAN_1!>[/DATAENCODE]movieyear=[DATAENCODE]<CD_GRAN_2!>[/DATAENCODE]</PHP_SCRIPT>
    На сервере:

    <?php
    mysql_connect("localhost", "martzp", "password");
    mysql_select_db("martzp");
    mysql_set_charset("utf8");
    $_POST['movie_id'] = mysql_real_escape_string($_POST[movie_id]);
    $_POST['movie_name'] = mysql_real_escape_string($_POST[movie_name]);
    $_POST['movie_year'] = mysql_real_escape_string($_POST[movie_year]);
    mysql_query("INSERT INTO movie (movie_id, movie_name, movie_year) VALUES ('$_POST[movieid]','$_POST[moviename]','$_POST[movieyear]')");


    В БД:
    Получаю запись со всех полей в одну ячейку(жирным - то что паршу):
    0000001moviename=Carmencitamovieyear=1894
    [​IMG]
    Где: 0000001 это movieid=[DATAENCODE][FIRST_REPLACE(http://www.site2.ru/pp{skip}|{skip})]<CD_DOCURL!>[/FIRST_REPLACE][/DATAENCODE]
    Где: Carmencita это moviename=[DATAENCODE]<CD_GRAN_1!>[/DATAENCODE]
    Где: 1894 это movieyear=[DATAENCODE]<CD_GRAN_2!>[/DATAENCODE]

    В БД следующие поля:
    [​IMG]
    Явки и пароли изменены максимально правдоподобно, потому возможны нестыковки.
    Проблема на стороне парсера - так как при ручном составлении запроса запись происходит как надо в свои поля.
    Понимаю что это достаточно частный случай, но уже честно два дня маюсь!
     
  2. pps88

    pps88 New Member Пользователи

    Регистрация:
    3 янв 2015
    Сообщения:
    24
    Собственно своими умозаключениями, не претендующими на правду предполагаю:
    загвоздка в том что сервер все данные переданные через POST от парсера воспринимает как один, который равен $_POST[movieid] - тоесть первому, и посему все данные записаны в одну ячейку.
     
  3. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    3.979
    Город:
    Riga
    Переменные построчно либо в одну строку через разделитель {linebreak}
     
  4. pps88

    pps88 New Member Пользователи

    Регистрация:
    3 янв 2015
    Сообщения:
    24
    То что нужно, спасибо БОЛЬШОЕ, жаль что из-за такой мелочи два дня потратил копаясь. Думаю нужно информацию добавить в мануал.
     

Поделиться этой страницей