SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.08.2014 02:42:21

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Обработка таблиц MySQL инклудом *.dbr в *.php

Всем привет, такая проблема:
есть VPS, на нем работает небольшой php-скрипт, который заносит в одну общую таблицу с 5-6 столбцами MySQL (назовем ее "alldata") данные, которые поступают на сервер извне и хранятся в обычном txt. Далее, в этом php-скрипте инклудится обработчик sortirovka.dbr, который отвечает за сортировку всех данных из столбцов "alldata" по всем остальным определенным таблицам MySQL ("firma","gorod","strana" и т.д.).
И вот тут проблема: в таблицу "alldata" значения пишутся, а вот дальше уже не сортируются. Я так понимаю, что как раз проблема в работе *.dbr . Возможно, что-то нужно докрутить в конфиге апача или в настройках mysql на самом сервере для корректной работы данной конструкции? Или в чем беда?

Неактивен

 

#2 01.08.2014 11:19:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

дело не в конфиге; нужно смотреть, что в самом файле

Неактивен

 

#3 01.08.2014 12:21:58

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Спасибо, а какой именно файл?
Дело в том, что это восстановленный бекап старого сервера, т.е. раньше все работало. Перенесли на новый и вот сейчас что-то не хочет работать (

Отредактированно Alexandre (01.08.2014 12:27:15)

Неактивен

 

#4 01.08.2014 12:39:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

php (и подключаемые в нем файлы) и искать в нем место где "чего-то не хочет".

Неактивен

 

#5 01.08.2014 13:04:58

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Хорошо, а как искать это место?
Дело в том, что обработка всех данных из таблицы "alldata", которая создается с помощью php-скрипта, лежит в фале dbr. То, что нужно от php-скрипта - работает и создается, а вот когда наступает черед инклудного в этот php файла dbr, то вот там как раз все и стопорится. В dbr вшита сортировка большого кол-ва таблиц из таблицы "alldata", созданной php-скриптом. Т.е. dbr не то что выполняется частично или еще как, он не выполняется вообще.
Поэтому и грешил на настройки сервера. Как можно решить проблему?

Неактивен

 

#6 01.08.2014 13:33:10

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

А что это за файл .dbr? (гугл говорит, что образ диска smile )

Неактивен

 

#7 01.08.2014 14:04:10

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Ну вот я тоже не знаю, мне досталось все в таком виде smile
Вот как он выглядит (это черновое, некоторые значения могут быть неправильными, рабочей версии сейчас под рукой нет):

<?

class dbr{

    function dbr($type){}
    function abon($type){
         global $kon,$mod;
        $link = $this->connect_to_mysql();
           
        $query = "select kacod,katype from alldata where kamod=$mod and kakontr=$kon and katype=$type";
        if($result1 = mysql_query($query,$link)){
           while($row1 = mysql_fetch_object($result1)){
                 $user=$row1->kacod;
           }
        }
        return $user;
    }
   
    function connect_to_mysql(){
   
   
       $link = mysql_connect(MY_HOST, MY_DB, MY_USER, MY_PASSWD);// устанавливаем соединение с БД
       mysql_select_db(MY_DB,$link);
       mysql_query('SET NAMES utf8');
       mysql_query ("set character_set_client='utf8'");
       mysql_query ("set character_set_results='utf8'");
       mysql_query ("set collation_connection='utf8_general_ci'");
       if($link) return $link;
       else false;
    }
   
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Обработка данных
   
    function beac($arr_beac,$date){
        global $kon,$mod;
        $user1=$this->user(1);
        $user2=$this->user(2);
       
        foreach ($arr_beac as $param=>$str){
            $query='';
            switch ($param){
                case "street":
                    if(preg_match("/Str_/",$str))$str=str_replace("Str_","(",$str).")";
                    $query = "delete from kastree where kacod=$user1 and date='$date'";
                    if(isset($user1) && $user1!='')mysql_query($query);
                    $query = "insert into street(kacod,date,kastr) values($user1,'$date','$str')";
                    if(isset($user1) && $user1!='')mysql_query($query);
                    break;

            }
        }
    }

Ну и далее.

Неактивен

 

#8 01.08.2014 14:58:16

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

То есть .dbr файл - это просто файл php, у которого изменено расширение. По крайней мере нужно добавить минимальную обработку ошибок там, где выполняются запросы к базе

mysql_query($query) or die(mysql_error());

Неактивен

 

#9 01.08.2014 17:45:43

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

А можно попробовать просто изменить расширение файла на php и во всех инклудах его сменить?
Обработку ошибок попробую, спасибо)
Но дело в том, что в самом коде dbr'a все работало хорошо на старом сервере с имеющимся кодом. Ума не приложу, почему тут, на новом, такая засада.

Неактивен

 

#10 01.08.2014 18:02:47

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Из того, что вы описали кажется, что можно просто сменить расширение на php. Но нужно проверять, вдруг были какие-то скрытые цели.

Неактивен

 

#11 01.08.2014 18:31:36

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Я думал, что эти dbr остались после того, как базу переписали под MySQL с Firebird. Может, так оно и есть?)

Неактивен

 

#12 01.08.2014 18:38:00

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Расширение dbr, насколько я понимаю, просто особенность оформления файла. Может быть это давно кто-то придумал.

Неактивен

 

#13 02.08.2014 23:51:09

Alexandre
Участник
Зарегистрирован: 31.07.2014
Сообщений: 7

Re: Обработка таблиц MySQL инклудом *.dbr в *.php

Вобщем не помогла смена расширения на php и замена во всех сопутствующих фалах sortirovka.dbr на sortirovka.php - с таким раскладом данные, поступающие на сервер, даже в первую таблицу alldata не заносятся.
Мозг кипит. 
Готов заплатить тому, кто поможет решить проблему. Пишите ЛС / скайп iuserik, обсудим )

Отредактированно Alexandre (02.08.2014 23:54:21)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson