Connect to db

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

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

    tattoo Создатель

    Регистр.:
    10 фев 2008
    Сообщения:
    24
    Симпатии:
    0
    люди вот кусочет скрипта, где непонел как подключить к бд а тоесть где писать подключение?

    и дело в том что все файлы которым нужно бд инклудят именно этот файл! никакого config.php и в этом роде нету !! подскажите
    PHP:
    <? 


      class 
    sql 
      

        function 
    sql () 
        { 
          
    $MySQL config ('MySQL_Base''MySQL_Host''MySQL_Login''MySQL_Password'); 
          if (!(
    $this->Link = @mysql_connect ($MySQL['MySQL_Host'], $MySQL['MySQL_Login'], $MySQL['MySQL_Password']))) 
          { 
            exit (
    '<hr>Error! MySQL not connect: ' mysql_error ()); 
          } 

          if (!(@
    mysql_select_db ($MySQL['MySQL_Base'], $this->Link))) 
          { 
            exit (
    '<hr>Error! data base ' $Base ' not selected! ' mysql_error ()); 
          } 

          @
    mysql_query ('SET NAMES \'cp1251\''$this->Link); 
        } 

        function 
    query ($Query
        { 
          if (
    $this->= @mysql_query ($Query$this->Link)) 
          { 
            return 
    $this->R
          } 

          exit (
    '<hr>Error query! ' mysql_error () . ('<br>Query: `' $Query '`')); 
        } 

        function 
    assoc ($Query ''
        { 
          if (
    $Query
          { 
            
    $this->Query ($Query); 
          } 

          return 
    mysql_fetch_assoc ($this->R); 
        } 

        function 
    object ($Query ''
        { 
          if (
    $Query
          { 
            
    $this->Query ($Query); 
          } 

          return 
    mysql_fetch_object ($this->R); 
        } 

        function 
    data ($Query ''
        { 
          if (
    $Query
          { 
            
    $this->Query ($Query); 
          } 

          return 
    mysql_fetch_array ($this->R); 
        } 

        function 
    rows ($Query ''
        { 
          if (
    $Query
          { 
            
    $this->Query ($Query); 
          } 

          return 
    mysql_num_rows ($this->R); 
        }               
     
  2. tattoo

    tattoo Создатель

    Регистр.:
    10 фев 2008
    Сообщения:
    24
    Симпатии:
    0
    так то быстрее но будет работать?
    если да то пж на примере покажи
     
  3. dirtymax

    dirtymax Писатель

    Регистр.:
    3 дек 2008
    Сообщения:
    8
    Симпатии:
    2
    $MySQL = config ('MySQL_Base', 'MySQL_Host', 'MySQL_Login', 'MySQL_Password');
    вот в этой строке укажи параметры доступа к бд, думаю все с этим понятно

    когда будешь создавать объект класса: $obj=new sql();, то подключение к бд создастся автоматически, возможно он где-то уже создаетсся в какомнить конфиге или коммоне, или хедере

    код конечно топорный
     
    tattoo нравится это.
  4. koroliov

    koroliov Создатель

    Регистр.:
    4 июн 2007
    Сообщения:
    27
    Симпатии:
    4
    Нужно найти функцию config() и посмотреть, откуда она берет данные, из какого файла
     
    tattoo нравится это.
  5. tattoo

    tattoo Создатель

    Регистр.:
    10 фев 2008
    Сообщения:
    24
    Симпатии:
    0
    вобщем попробую как dirtymax сказал,
    koroliov там файлов 467 и тем файлам которым нужна БД ведут на этот файл, и кстать этот файл расширение имеет .inc это может ченить менять?
     
  6. koroliov

    koroliov Создатель

    Регистр.:
    4 июн 2007
    Сообщения:
    27
    Симпатии:
    4
    Ну так сделай поиск по этим файлам, через Windows Commander или что еще (всего несколько секунд). Найди где будет примерно:

    PHP:
    function config()  {
    // ...
    }
    Можешь тут эту функцию выложить
     
  7. tattoo

    tattoo Создатель

    Регистр.:
    10 фев 2008
    Сообщения:
    24
    Симпатии:
    0
    PHP:
    function config ()
      {
        
    $Args func_get_args ();
        
    $Args implode (' '$Args);
        
    $try 3;
        while (
    $try--)
        {
          
    $d daemon (35'args=' $Args);
          if (
    $d)
          {
            if (
    $r unserialize ($d))
            {
              return 
    $r;
            }
          }

          
    sleep (1);
        }

        exit (
    '<hr>Error load config');
      }

      function 
    config_update ()
      {
        global 
    $CONFIG_UPDATE;
        
    $Args func_get_args ();
        
    $v = array ();
        foreach (
    $Args as $_v)
        {
          global $
    $_v;
          
    $v[$_v] = (is_array ($$_v) ? $$_v stripslashes ($$_v));
        }

        
    $a pencode (serialize ($v));
        return 
    daemon (36'data=' $a '&admin=' $CONFIG_UPDATE['ADMIN'] . '&page=' $CONFIG_UPDATE['PAGE'], 1);
      }

      function 
    loadstyle ($p)
      {
        global 
    $CDesign;
        return 
    daemon (37'design=' $CDesign '&page=' $p '&show=1&IE=' IE '&Mozilla=' Mozilla '&Opera=' Opera);
      }


    и кстати я все зделал но мне выкидывает Error load configчто можно зделать?
    что тебе помогло мож расскажешь? или флуд просто?
     
  8. koroliov

    koroliov Создатель

    Регистр.:
    4 июн 2007
    Сообщения:
    27
    Симпатии:
    4
    Ну теперь осталось выяснить, что за функция daemon()

    Ну и если надоест искать, где "собака зарыта", то можно метод sql() заменить на
    PHP:
    function sql ()
    {
        
        include_once(
    'путь_к_файлу/config.php');
        
        if (!(
    $this->Link = @mysql_connect (_MYSQL_HOST_MYSQL_LOGIN_MYSQL_PASSWORD)))
        {
            exit (
    '<hr>Error! MySQL not connect: ' mysql_error ());
        }

        if (!(@
    mysql_select_db (_MYSQL_BASE$this->Link)))
        {
            exit (
    '<hr>Error! data base not selected! ' mysql_error ());
        }

        @
    mysql_query ('SET NAMES \'cp1251\''$this->Link);
    }
    предварительно создав файл config.php с содержанием:

    PHP:
    <?php
    define
    ('_MYSQL_BASE''База данных');
    define('_MYSQL_HOST''Адрес сервера');
    define('_MYSQL_LOGIN''Логин');
    define('_MYSQL_PASSWORD''Пароль');
    ?>
    но лучше все таки разобраться
     
    tattoo нравится это.
  9. tattoo

    tattoo Создатель

    Регистр.:
    10 фев 2008
    Сообщения:
    24
    Симпатии:
    0
    создал файл config.php все прописал,

    но опять тоже и самое Error Load Config

    Добавлено через 36 секунд
    вот что еще может быть?

    Добавлено через 3 минуты
    а тут может быть что нибуть? IP или Port
    PHP:
     function daemon ($a$param ''$post 0)
      {
        global 
    $CRoom;
        global 
    $Cookie;
        
    $try 5;
        while (
    true)
        {
          
    $s = @fsockopen ('127.0.0.1'ENGINE_PORT$e$e2);
          if (!(
    $s))
          {
            if (--
    $try == 0)
            {
              return 
    false;
            }

            continue;
          }
        }

        list (
    $ip$proxy) = getip ();
        if (
    is_array ($Cookie))
        {
          foreach (
    $Cookie as $Var => $Val)
          {
            
    $cv .= $Var '=' urlencode ($Val) . '; ';
          }
        }

        
    $h 'Cookie: ' $cv;
        
    $param 'a=' $a '&&r=' $CRoom '&ip=' $ip '&proxy=' $proxy '&d=1248421&' $param;
        if (
    $post)
        {
          
    fwrite ($s'POST /engine HTTP/1.0
    Content-Length: ' 
    strlen ($param) . ('
    $h '

    $param '
    '
    ));
        }
        else
        {
          
    fwrite ($s'GET /engine?' $param ' HTTP/1.0
    $h '

    '
    );
        }

        while (!(
    feof ($s)))
        {
          
    $r .= fread ($s8192);
        }

        
    fclose ($s);
        return 
    $r;
      }
     
  10. koroliov

    koroliov Создатель

    Регистр.:
    4 июн 2007
    Сообщения:
    27
    Симпатии:
    4
    Мда… система ниппель :)

    В общем, легче просто попросить кого то посмотреть эту систему. Иначе во все большие дебри залезем (а оно надо светить тут все больше кода этого скрипта?).

    А что – этот скрипт не имеет, какого либо инсталлятора?
     
    tattoo нравится это.
Статус темы:
Закрыта.