За последние 24 часа нас посетили 17726 программистов и 1280 роботов. Сейчас ищут 1437 программистов ...

данные перестали вставлятся (сами по себе)

Тема в разделе "PHP и базы данных", создана пользователем Danilevsky, 28 окт 2006.

Статус темы:
Закрыта.
  1. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Написал скрипт, который записывает в базу данных анкеты людей.
    Работало все хорошо, в базу записало 273 анкеты. И вот я начинаю замечать, что анкеты людьми заполняются, а число их в базе данных не растет. Посмотрел логи, ошибок нет. (А я еще по глупости не проверял данные "affected rows"). Методом проверки вычислил, что данные не записываются. Загрузил скрипт вместе с бд с хостинга на локалхост - таже картина, данные не записываются. После решил удалить все анкеты из базы - данные начали опять записываться...
    Не могу понять в чем дело. Кто-нибудь сталкивался с таким?
     
  2. "с таким" - это с каким? Не добавляются анкеты в базу данных людей? То есть, вопрос только к тем, кто анкетами занимался?
    С чем должен был сталкиваться этот кто-нибудь?
    А что ты сделал для того, чтобы они там были?
     
  3. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Чебурген, при чем тут анкеты... что ты чешишь?
    вопрос был в том, по каким причинам данные могут перестать записываться в базу данных?
     
  4. А, извини, я сначала не понял вопрос.
    Отвечаю. Данные могут перестать записываться в базу данных по такой, к примеру, причине, что отсутствует база данных.

    Кстати, я там задавал ещё один вопрос. Тебя не затруднит на него ответить? Спасибо.

    PS. прошу воздержаться от использования в мой адрес выражений типа "что ты чешишь".
     
  5. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    извини за мое выражение.
    база данных присутствует. После оператора insert affected rows выдает мне 0.
    Но странно, почему-то если из базы данных, точннее из таблицы с анкетами удалить все данные, то все продолжает рабоать...

    з.ы. на какой вопрос тебе ответить? я насчитал 5 вопросов.
     
  6. Что ты сделал для того, чтобы ошибки появлялись в логах?

    Учитывая тот факт, что сообщение об ошибке - это единственный способ узнать, почему у тебя не добавляются данные, выходит,что этот вопрос - самый главный.

    А предыдущим своим вопросом я тебе намекал на то, что причин могут быть миллионы. и гадать "отчего да почему" можно до пенсии
     
  7. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    PHP:
    1.         if ($db->affectedRows() <= 0) {
    2.             error_log("can't write to database in ".$_SERVER['PHP_SELF'].", in line ".__LINE__, 0);
    3.             die(ERROR_MSG);
    4.         }
     
  8. Davil

    Davil Guest

    Сначала прочитай повнимательнее, а уже потом начинай критиковать человека, который писал что-то.

    Danilevsky а сколько весит база с анкетами?
     
  9. мда...
    потрясающе информативно.

    а такая функция, как mysql_error() тебе неизвестна? если, конечно, речь идёт о mysql
     
  10. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Davil, да не много, таблица - 256 кб. вся база - 5мб.
    Я тоже сначала думал что места не хватает, переписал на свой локалхост - таже проблема. И еще, если оставить хотя-бы одну запись в таблице, все равно не записывает.
     
  11. Mavir

    Mavir Guest

    Какая структура таблицы и приведи пример запроса, который вставляет данные.
    И воспользуйся функцией mysql_error()
     
  12. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Код (Text):
    1. CREATE TABLE `p_interpreters` (
    2.   `int_interpreter_id` int(3) NOT NULL default '0',
    3.   `int_surname` text collate utf8_unicode_ci NOT NULL,
    4.   `int_name` text collate utf8_unicode_ci NOT NULL,
    5.   `int_father_name` text collate utf8_unicode_ci,
    6.   `int_date_of_birth` date NOT NULL default '0000-00-00',
    7.   `int_gender` tinyint(1) NOT NULL default '0',
    8.   `int_country_iso` varchar(2) collate utf8_unicode_ci NOT NULL default '',
    9.   `int_city_id` int(3) NOT NULL default '0',
    10.   `int_native_language_iso` varchar(2) collate utf8_unicode_ci NOT NULL default '',
    11.   `int_native_language2_iso` varchar(2) collate utf8_unicode_ci default NULL,
    12.   `int_home_tel` varchar(50) collate utf8_unicode_ci default NULL,
    13.   `int_work_tel` varchar(50) collate utf8_unicode_ci default NULL,
    14.   `int_cell_tel` varchar(50) collate utf8_unicode_ci default NULL,
    15.   `int_fax` varchar(50) collate utf8_unicode_ci default NULL,
    16.   `int_email` varchar(100) collate utf8_unicode_ci NOT NULL default '',
    17.   `int_icq` varchar(20) collate utf8_unicode_ci default NULL,
    18.   `int_msn` varchar(100) collate utf8_unicode_ci default NULL,
    19.   `int_yahoo` varchar(100) collate utf8_unicode_ci default NULL,
    20.   `int_skype` varchar(100) collate utf8_unicode_ci default NULL,
    21.   `int_college` text collate utf8_unicode_ci NOT NULL,
    22.   `int_college_country_iso` varchar(2) collate utf8_unicode_ci NOT NULL default '',
    23.   `int_college_city_id` int(3) NOT NULL default '0',
    24.   `int_college_date_in` varchar(15) collate utf8_unicode_ci NOT NULL default '',
    25.   `int_faculty` text collate utf8_unicode_ci NOT NULL,
    26.   `int_profession` text collate utf8_unicode_ci NOT NULL,
    27.   `int_degree_id` tinyint(1) NOT NULL default '0',
    28.   `int_college_date_out` varchar(15) collate utf8_unicode_ci NOT NULL default '',
    29.   `int_additional_education` text collate utf8_unicode_ci,
    30.   `int_language_iso` varchar(2) collate utf8_unicode_ci NOT NULL default '',
    31.   `int_diploma` tinyint(1) default NULL,
    32.   `int_experience_id` tinyint(1) NOT NULL default '0',
    33.   `int_pages_per_day_id` tinyint(2) default NULL,
    34.   `int_2nd_language_iso` varchar(2) collate utf8_unicode_ci default NULL,
    35.   `int_checking_mail_id` tinyint(2) NOT NULL default '0',
    36.   `int_passport` tinyint(1) default NULL,
    37.   `int_driving_licence` tinyint(1) default NULL,
    38.   `int_car` tinyint(1) default NULL,
    39.   `int_date_of_registration` date NOT NULL default '0000-00-00',
    40.   PRIMARY KEY  (`int_interpreter_id`)
    41. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    Код (Text):
    1.         $sth_int =& $db->prepare("INSERT
    2.                                   INTO p_interpreters
    3.                                   (int_interpreter_id,
    4.                                    int_surname,
    5.                                    int_name,
    6.                                    int_father_name,
    7.                                    int_date_of_birth,
    8.                                    int_gender,
    9.                                    int_country_iso,
    10.                                    int_city_id,
    11.                                    int_native_language_iso,
    12.                                    int_native_language2_iso,
    13.                                    int_home_tel,
    14.                                    int_work_tel,
    15.                                    int_cell_tel,
    16.                                    int_fax,
    17.                                    int_email,
    18.                                    int_icq,
    19.                                    int_msn,
    20.                                    int_yahoo,
    21.                                    int_skype,
    22.                                    int_college,
    23.                                    int_college_country_iso,
    24.                                    int_college_city_id,
    25.                                    int_college_date_in,
    26.                                    int_faculty,
    27.                                    int_profession,
    28.                                    int_degree_id,
    29.                                    int_college_date_out,
    30.                                    int_additional_education,
    31.                                    int_language_iso,
    32.                                    int_diploma,
    33.                                    int_experience_id,
    34.                                    int_pages_per_day_id,
    35.                                    int_2nd_language_iso,
    36.                                    int_checking_mail_id,
    37.                                    int_passport,
    38.                                    int_driving_licence,
    39.                                    int_car,
    40.                                    int_date_of_registration)
    41.                                   VALUES
    42.                                   (?,
    43.                                    ?,
    44.                                    ?,
    45.                                    ?,
    46.                                    ?,
    47.                                    ?,
    48.                                    ?,
    49.                                    ?,
    50.                                    ?,
    51.                                    ?,
    52.                                    ?,
    53.                                    ?,
    54.                                    ?,
    55.                                    ?,
    56.                                    ?,
    57.                                    ?,
    58.                                    ?,
    59.                                    ?,
    60.                                    ?,
    61.                                    ?,
    62.                                    ?,
    63.                                    ?,
    64.                                    ?,
    65.                                    ?,
    66.                                    ?,
    67.                                    ?,
    68.                                    ?,
    69.                                    ?,
    70.                                    ?,
    71.                                    ?,
    72.                                    ?,
    73.                                    ?,
    74.                                    ?,
    75.                                    ?,
    76.                                    ?,
    77.                                    ?,
    78.                                    ?,
    79.                                    ?)");
    80.                                    
    81.         $int_array = array($row['rqe_interpreter_id'],
    82.                            $row['rqe_surname'],
    83.                            $row['rqe_name'],
    84.                            $row['rqe_father_name'],
    85.                            $row['rqe_date_of_birth'],
    86.                            $row['rqe_gender'],
    87.                            $_POST['mn_country'],
    88.                            $_POST['mn_city'],
    89.                            $_POST['mn_native_language'],
    90.                            $_POST['mn_native_language2'],
    91.                            $row['rqe_home_tel'],
    92.                            $row['rqe_work_tel'],
    93.                            $row['rqe_cell_tel'],
    94.                            $row['rqe_fax'],
    95.                            $row['rqe_email'],
    96.                            $row['rqe_icq'],
    97.                            $row['rqe_msn'],
    98.                            $row['rqe_yahoo'],
    99.                            $row['rqe_skype'],
    100.                            $row['rqe_college'],
    101.                            $_POST['mn_college_country'],
    102.                            $_POST['mn_college_city'],
    103.                            $row['rqe_college_date_in'],
    104.                            $row['rqe_faculty'],
    105.                            $row['rqe_profession'],
    106.                            $_POST['mn_degree'],
    107.                            $row['rqe_college_date_out'],
    108.                            $row['rqe_additional_education'],
    109.                            $_POST['mn_language'],
    110.                            $row['rqe_diploma'],
    111.                            $row['rqe_experience'],
    112.                            $row['rqe_pages_per_day'],
    113.                            $_POST['mn_language2'],
    114.                            $row['rqe_checking_mail_id'],
    115.                            $row['rqe_passport'],
    116.                            $row['rqe_driving_licence'],
    117.                            $row['rqe_car'],
    118.                            $row['rqe_date_of_registration']);
    119.                            
    120.         $db->execute($sth_int, $int_array);
     
  13. Danilevsky
    из трёх вещей, которые у тебя попросил Mavir, ты осилил только одну.
    из одной вещи, которую у тебя просил я, ты не осилил ни одной.

    может быть, всё же, как-нибудь постараешься привести здесь SQL запрос и сообщение об ошибке?
     
  14. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Код (Text):
    1.         mysql_query("INSERT INTO p_interpreters
    2.                                   (int_interpreter_id,
    3.                                    int_surname,
    4.                                    int_name,
    5.                                    int_father_name,
    6.                                    int_date_of_birth,
    7.                                    int_gender,
    8.                                    int_country_iso,
    9.                                    int_city_id,
    10.                                    int_native_language_iso,
    11.                                    int_native_language2_iso,
    12.                                    int_home_tel,
    13.                                    int_work_tel,
    14.                                    int_cell_tel,
    15.                                    int_fax,
    16.                                    int_email,
    17.                                    int_icq,
    18.                                    int_msn,
    19.                                    int_yahoo,
    20.                                    int_skype,
    21.                                    int_college,
    22.                                    int_college_country_iso,
    23.                                    int_college_city_id,
    24.                                    int_college_date_in,
    25.                                    int_faculty,
    26.                                    int_profession,
    27.                                    int_degree_id,
    28.                                    int_college_date_out,
    29.                                    int_additional_education,
    30.                                    int_language_iso,
    31.                                    int_diploma,
    32.                                    int_experience_id,
    33.                                    int_pages_per_day_id,
    34.                                    int_2nd_language_iso,
    35.                                    int_checking_mail_id,
    36.                                    int_passport,
    37.                                    int_driving_licence,
    38.                                    int_car,
    39.                                    int_date_of_registration)
    40.                                   VALUES
    41.                                   (".$row['rqe_interpreter_id'].",
    42.                            ".$row['rqe_surname'].",
    43.                            ".$row['rqe_name'].",
    44.                            ".$row['rqe_father_name'].",
    45.                            ".$row['rqe_date_of_birth'].",
    46.                            ".$row['rqe_gender'].",
    47.                            ".$_POST['mn_country'].",
    48.                            ".$_POST['mn_city'].",
    49.                            ".$_POST['mn_native_language'].",
    50.                            ".$_POST['mn_native_language2'].",
    51.                            ".$row['rqe_home_tel'].",
    52.                            ".$row['rqe_work_tel'].",
    53.                            ".$row['rqe_cell_tel'].",
    54.                            ".$row['rqe_fax'].",
    55.                            ".$row['rqe_email'].",
    56.                            ".$row['rqe_icq'].",
    57.                            ".$row['rqe_msn'].",
    58.                            ".$row['rqe_yahoo'].",
    59.                            ".$row['rqe_skype'].",
    60.                            ".$row['rqe_college'].",
    61.                            ".$_POST['mn_college_country'].",
    62.                            ".$_POST['mn_college_city'].",
    63.                            ".$row['rqe_college_date_in'].",
    64.                            ".$row['rqe_faculty'].",
    65.                            ".$row['rqe_profession'].",
    66.                            ".$_POST['mn_degree'].",
    67.                            ".$row['rqe_college_date_out'].",
    68.                            ".$row['rqe_additional_education'].",
    69.                            ".$_POST['mn_language'].",
    70.                            ".$row['rqe_diploma'].",
    71.                            ".$row['rqe_experience'].",
    72.                            ".$row['rqe_pages_per_day'].",
    73.                            ".$_POST['mn_language2'].",
    74.                            ".$row['rqe_checking_mail_id'].",
    75.                            ".$row['rqe_passport'].",
    76.                            ".$row['rqe_driving_licence'].",
    77.                            ".$row['rqe_car'].",
    78.                            ".$row['rqe_date_of_registration'].")") or die(mysql_error());
     
  15. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
     
  16. Danilevsky
    во-первых, то, что ты здесь написал - это не SQL запрос. а PHP код.
    Ты вообще, имеешь представление о языке SQL? Как выглядят запросы, составленные на нём? Если да, то приведи здесь, пожалуйста, SQL запрос. Если нет, то я попробую тебе объяснить разницу.

    Во-вторых, в этом коде у тебя ошибки. И сообщение об ошибке mysql говорит тебе именно о них. об ошибках, которые ты допустил в этом коде.
    а не о тех ошибках, которые у тебя возникают в том, старом коде.
    mysql_error() надо вызывать не с этим кодом, а со старым.
     
  17. Danilevsky

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

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Спасибо всем за помощь! Проблема нашла свое решение. А все было предельно просто: в ключевое поле скрипт пытался записать одинаковые данные (дело в том что данные брались из другой таблицы, в которой была допущена ошибка)
     
Статус темы:
Закрыта.