Перейти к контенту

Обращение к другой базе


Рекомендуемые сообщения

Есть следующий код, он обращается к текущей базе данных:

function _show_newimage()
{
 global $ibforums, $DB, $std, $print;
 $html  = "";

 // Randomness
 // In following queries CHANGE 4images table PREFIX if it doesn't match (Standard "4images_")!
$query = $DB->query("SELECT COUNT(*) as total_images
        FROM 4images_images a, 4images_categories b
        WHERE a.image_active=1
        AND a.cat_id = b.cat_id
        AND b.auth_viewcat=0
        AND b.auth_viewimage=0");
//if ( !($result = $DB->query($query)) )
//{
//return false;
//}
$row = $DB->fetch_row($query);
$total_images = $row['total_images'];

 mt_srand((double)microtime() * 1000000);
$rndnum = ($total_images > 1) ? mt_rand(0, $total_images - 1) : 0;

$query = $DB->query("SELECT a.image_id, a.cat_id, a.image_name, a.image_active, a.image_thumb_file
        FROM 4images_images a, 4images_categories b
        WHERE a.image_active=1
        AND a.cat_id = b.cat_id
        AND b.auth_viewcat=0
        AND b.auth_viewimage=0
        LIMIT $rndnum, 1");
//if ( !($result = $DB->query($query)) )
//{
//return false;
//}
$row = $DB->fetch_row($query);
$image_id = $row['image_id'];
$cat_id = $row['cat_id'];
$image_thumb_file = $row['image_thumb_file'];
$image_name = $row['image_name'];
return $this->html->tmpl_newimage($image_id, $cat_id, $image_thumb_file, $image_name);
}

Как сделать, чтобы функция обращалась к другой базе MySQL?

Ссылка на комментарий
Поделиться на других сайтах

Насколько мне известно, в переменной $DB хранятся название базы. Вот с ней то и надо что-то сделать
Ссылка на комментарий
Поделиться на других сайтах

Добавить в начало функции что-то вроде

$INFO['sql_driver'] = !$INFO['sql_driver'] ? 'mySQL' : $INFO['sql_driver'];

$to_require = $root_path."sources/Drivers/".$INFO['sql_driver'].".php";
require ($to_require);

$DB = new db_driver;

$DB->obj['sql_database']     = $INFO['sql_database'];
$DB->obj['sql_user']         = $INFO['sql_user'];
$DB->obj['sql_pass']         = $INFO['sql_pass'];
$DB->obj['sql_host']         = $INFO['sql_host'];
$DB->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];

$DB->obj['debug']            = ($INFO['sql_debug'] == 1) ? $_GET['debug'] : 0;

// Get a DB connection

$DB->connect();

(выдрано из index.php), только вместо $INFO['sql_database'], $INFO['sql_user'] и т.д. указать данные для другой базы.

Ссылка на комментарий
Поделиться на других сайтах

Так не годится, т.к. идёт обращение к mySQL.php, а там:

    var $obj = array ( "sql_database"   => ""         ,
                      "sql_user"       => "root"     ,
                      "sql_pass"       => ""         ,
                      "sql_host"       => "localhost",
                      "sql_port"       => ""         ,
                      "persistent"     => "0"         ,
                      "sql_tbl_prefix"        => "ibf_"      ,

 

Надо как-то по другому...

Ссылка на комментарий
Поделиться на других сайтах

Des

Да ну, весь форум прекрасно работает через mySQL.php с заданными тобой при установке именем пользователя и паролем. Что конкретно тебе не нравится в этих строчках?

Ссылка на комментарий
Поделиться на других сайтах

Так база то другая! Значит sql_user, sql_pass, sql_tbl_prefix тоже другие! В той "другой" базе установлен не форум, а фотогаллерея 4images...
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.