Подключение к базе mysql на другом сервере из модуля joomla

Discussion in 'Программирование' started by QuadGhoST, Oct 6, 2007.

  1. Offline

    QuadGhoST Недавно здесь

    Joined:
    Aug 27, 2007
    Messages:
    10
    Likes Received:
    0
    Gender:
    Male
    Собственно сабж как сделать...
    Пробовал просто:
    Код (CODE):
    1. $link = mysql_connect($host, $user, $password);
    2. mysql_select_db($dbase,$link);
    3. $res = mysql_query("SELECT count(*) FROM `list`", $link);
    4. echo mysql_result($res,0);
    5. mysql_close($link);

    Не получилось.
    Полистал API joomla нашёл конструктор класса database.
    Попробовал сделать так:
    Код (CODE):
    1. $db = new database( $host, $user, $password, $dbase );
    2. $db->setQuery("SELECT count(*) FROM `list`");
    3. $numpl = $db->loadResult();
    4. echo $numpl;

    Тоже не получилось.
    Причём никаких ошибок в самом модуле нет. Все переменные указаны верно.
    При включение этого модуля джумула тоже ни на что не жалуеться как и php.
    Удалённая база тоже доступна.
    Просто в этом блоке пустота и всё.
    Как правильно подключать в модуле другую базу и считывать из неё данные?
     
  2.  
  3. OlegM
    Offline

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Ответ: Подключение к базе mysql на другом сервере из модуля joomla

    Ну попробуй вставить
    Код (PHP):
    1. if ($db->getErrorNum()) {
    2.   echo $db->getErrorMsg();
    3. }

    или

    Код (PHP):
    1. if (!$db->query()) {
    2.     echo $db->stderr();
    3.     return false;
    4.   }


    именно так и надо
     
  4. Offline

    QuadGhoST Недавно здесь

    Joined:
    Aug 27, 2007
    Messages:
    10
    Likes Received:
    0
    Gender:
    Male
    Ответ: Подключение к базе mysql на другом сервере из модуля joomla

    Ну что ж пробовал три варианта:
    Код (CODE):
    1. if (!$db->query()) {
    2.     echo $db->getErrorMsg();
    3.     exit();
    4.     }


    Код (CODE):
    1. if (!$db->query()) {
    2.     echo $db->stderr();
    3.     return false;
    4.     }


    Код (CODE):
    1. if ($db->getErrorNum()) {
    2. echo $db->getErrorMsg();
    3. }


    Эмоций ноль. Всё таки же белоснежный модуль. Может я не правильно создал новый объект database или джумула не даёт работать с базой с другого хоста не джумуловской. Хз вообщем не знаю куда даже рыть. Через модуль mod_php извращаться бред. Создать простой модуль, а в нём инклудить этот в котором будут не $db->setQuery, а просто mysql_query попахивает извращением, как и mod_php.

    sourpuss, может вспомнишь навскидку какой-нибудь рабочий модуль в котором было бы использовано то о чём я пишу? Глянул бы исходники :)
     
    Last edited: Oct 6, 2007
  5. Offline

    QuadGhoST Недавно здесь

    Joined:
    Aug 27, 2007
    Messages:
    10
    Likes Received:
    0
    Gender:
    Male
    Ответ: Подключение к базе mysql на другом сервере из модуля joomla

    Хм вообщем new database заработал.
    Проблема кака всегда оказалось в стороннем расширении.
     
  6. chilly_bang
    Offline

    chilly_bang Недавно здесь => Cпециалист <=

    Joined:
    Apr 30, 2006
    Messages:
    1,541
    Likes Received:
    38
    Gender:
    Male
    Ответ: Подключение к базе mysql на другом сервере из модуля joomla

    опиши, что как, пошагово - как заработало?
     
  7. Offline

    QuadGhoST Недавно здесь

    Joined:
    Aug 27, 2007
    Messages:
    10
    Likes Received:
    0
    Gender:
    Male
    Ответ: Подключение к базе mysql на другом сервере из модуля joomla

    Ну в общем создал новый объект:
    $db = new database( $host, $user, $password, $dbase );
    Дальше работой с другой базой средствами самой джумлы.
    В конце ещё убил объект $db:
    unset($db);
    Всё.
     
  8. Offline

    mister_pipin Недавно здесь

    Joined:
    Sep 29, 2010
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Всем доброй ночи!), нуждаюсь в ваших советах. джомлой пользуюсь не так давно,хочу создать отдельную базу и подключить к ней несколько сайтов,ничего не получается. решил в базе данных сайта создать таблицу,вобщем с этим сайтом получилось вытянуть инфу, пробовал с другого сайта подключиться(который лежит на другом сервере) но так и не вышло получилось, у кого какие мысли? кто знает? подскажите...
    p.s. а какое стороннее решение вызвало проблему?
     
    Last edited: Sep 29, 2010
  9. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Сторонние решения не всегда могут прийти на помощь. Большинство хостеров запрещают удаленное подключение к БД в целях безапастности.
     
  10. Offline

    cpentyc Недавно здесь

    Joined:
    Aug 8, 2011
    Messages:
    1
    Likes Received:
    0
    Gender:
    Male
    А что должна содержать переменная хост? не отвечайте хост напишите пример
     
  11. toorr2p
    Offline

    toorr2p Недавно здесь

    Joined:
    Sep 4, 2009
    Messages:
    37
    Likes Received:
    2
    Gender:
    Male
    Здравствуйте! тоже потребовалось соединится в модуле с другой базой (обе базы на оном хосте, т.е localhost), пишу вот так:

    Код (PHP):
    1. $host = 'localhost';
    2.     $user = 'xxx';
    3.     $password = 'xxx';
    4.     $dbase = 'xxx';
    5.    
    6.     $db = new database($host, $user, $password, $dbase);
    7.     $query = 'SELECT postid, threadid, username, title, dateline FROM post WHERE visible = 1 ORDER BY postid DESC';
    8.     $db->setQuery($query, 0, 5);
    9.    
    10.     if (!$db->query()) {
    11.         echo $db->stderr();
    12.         return false;
    13.     }
    14.    
    15.     $rows = $db->loadObjectList();
    16.    
    17.     print_r($rows);


    Выводится ошибка : "DB function failed with error number 1146".
    Помогите разобраться плз, я так подозреваю, что в коде не хватает чего то вроде SELECT DATABASE NAME ?
    Спасибо!
     
    Last edited: Nov 9, 2011
  12. toorr2p
    Offline

    toorr2p Недавно здесь

    Joined:
    Sep 4, 2009
    Messages:
    37
    Likes Received:
    2
    Gender:
    Male

Share This Page

Loading...