Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с 2-мя базами в одном скрипте
 
 автор: segafrompiter   (14.11.2008 в 17:50)   письмо автору
 
 

Делаю вывод последних тем форума на главной странице,
В основном скрипте все так-
Соединение с основной базой, код, потом
в основной скрипт делаю include-скрипта, в котором идет соединение с базой данных форума, оттуда выбираю последние темы, вывожу,
делаю в этом скрипте mysql_free_result, mysql_close, все, этот скрипт закончен,
дальше снова подключаюсь к основной базе, и она не подключается, ошибок не выдает, просто скрипт дальше не выполняется. Что я не так делаю ?

  Ответить  
 
 автор: Root   (14.11.2008 в 18:08)   письмо автору
 
   для: segafrompiter   (14.11.2008 в 17:50)
 

давайте без mysql_close(), он закрывает соединение с сервером. Базы на одном сервере?
Если да
1 раз mysql_connect,
сколько угодно раз mysql_select_db.
и в самом конце ( не обязательно ) mysql_close.

  Ответить  
 
 автор: segafrompiter   (14.11.2008 в 18:19)   письмо автору
 
   для: Root   (14.11.2008 в 18:08)
 

Базы на одном сервере, но у каждой базы свое имя, имя кажой базы равно имени юзера,
т.е. mysql_connect уже не может быть одним.

  Ответить  
 
 автор: ddhvvn   (14.11.2008 в 18:27)   письмо автору
 
   для: segafrompiter   (14.11.2008 в 18:19)
 

а идентификатор, по-Вашему, зачем существует?

<?php

$dbhost 
'localhost';
$dbuser 'root';
$dbpass '';
$dbname1'base1';
$dbname2'base2';

$id1 mysql_connect($dbhost$dbuser$dbpasstrue);
mysql_select_db($dbname1$id1);
$id2 mysql_connect($dbhost$dbuser$dbpasstrue);
mysql_select_db($dbname2$id2);

$q1 mysql_query("SHOW TABLES"$id1);
$q2 mysql_query("SHOW TABLES"$id2);

echo 
$dbname1.'<br><pre>';
while (
$a mysql_fetch_row($q1))
echo 
' - '.$a[0] . '<br>';
echo 
'</pre>';

echo 
$dbname2.'<br><pre>';
while (
$a mysql_fetch_row($q2))
echo 
' - '.$a[0] . '<br>';
echo 
'</pre>';
?>

  Ответить  
 
 автор: Root   (14.11.2008 в 18:28)   письмо автору
 
   для: segafrompiter   (14.11.2008 в 18:19)
 

>Базы на одном сервере, но у каждой базы свое имя, имя кажой базы равно имени юзера,
>т.е. mysql_connect уже не может быть одним.

Нифига не понял..
у вас база данных с форумом, это имя юзера "forum" что ли? :-))

Вы под разными юзерами соединяетесь?
Вы пробовали сделать так как я вам написал?

  Ответить  
 
 автор: segafrompiter   (14.11.2008 в 18:33)   письмо автору
 
   для: Root   (14.11.2008 в 18:28)
 

на моем хостинге, чтобы соединиться с каждой базой данных- надо менять имя юзера,
т.е. база сайта- sait_database , имя юзера= sait_database
база форума - forum_db , имя юзера- forum_db,
я пробоавал по-разному, но после соединения с базой форума, с базы форума уже ничего не считывается.

  Ответить  
 
 автор: Root   (14.11.2008 в 18:36)   письмо автору
 
   для: segafrompiter   (14.11.2008 в 18:33)
 

ясно, как вам указали выше:
<?php
$conn1 
mysql_connect'localhost''forum_db''***');
mysql_select_db'forum_db'$conn1 );
mysql_query($query$conn1);

$conn2 mysql_connect'localhost''aaa''***');
//и т.д.

  Ответить  
 
 автор: segafrompiter   (14.11.2008 в 18:53)   письмо автору
 
   для: Root   (14.11.2008 в 18:36)
 

Спасибо!
Проблема была в том, что выводом последних тем я разорвал цикл, работающий на другой базе, вот ничего и не выводилось :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования