Ошибка при обращении к двум базам данных

svirol

Новичок
Ошибка при обращении к двум базам данных

Проблема в следующем - используеся две базы данных, к обеим выдается запрос со сотраницы.
Подсоединение проходит нормально, однако, при попытке получения результатов Mysql_numrows() -выдается ошибка Warning: Supplied argument is not a valid MySQL result resource in...
При этом сам запрос при непосредственном обращении к базе работает, работают и запросы ко второй базе.
При обращении с использованием этого же файла подсоединения, но с обращением только к одной базе тот же запрос работает.
Работает все и на локальном сервере - вообще без проблем.
В чем может быть проблема?:(
 

si

Administrator
При этом сам запрос при непосредственном обращении к базе работает, работают и запросы ко второй базе.
Это почему вы так решили ?

при попытке получения результатов Mysql_numrows() -выдается ошибка Warning: Supplied argument is not a valid MySQL result resource in...
Это как раз говорит о том, что ваш запрос [m]mysql_query[/m] закончился неудачей. Используйте [m]mysql_error[/m]
 

svirol

Новичок
Прошу прощения за неточную нформацию
Есть файл dbconnect.inc
PHP:
			Error_Reporting(1+2+4);
			define("DBName","база");
			define("HostName","");
			define("UserName","имя");
			define("Password","пароль");
			$mysql_conn=mysql_connect(HostName,UserName,Password);								
			if(!$mysql_conn) 
			{ echo "Can't connect to DataBase ".DBName."!<br>"; exit; }


			define("DBName1","база1");
			define("HostName1","");
			define("UserName1","имя1");
			define("Password1","пароль1");
			$mysql_conn1=mysql_connect(HostName1,UserName1,Password1);								
			if(!$mysql_conn1) 
			{ echo "Can't connect to DataBase ".DBName."!<br>"; exit; }
На локальной сервере все работает, а вот при переносе первое соединение игнорируется.
 

svirol

Новичок
Автор оригинала: tony2001
PHP:
if(!$mysql_conn1) echo mysql_error();
PHP:
Да в том то и дело, что пишу 
if(!$mysql_conn) 
	{ echo "Can't connect to DataBase ".mysql_error()."!<br>"; exit; }
else
echo"Yes";

if(!$mysql_conn1) 
	{ echo "Can't connect to DataBase ".mysql_error()."!<br>"; exit; }
else
	echo"Yes";
Результат - YesYes1
Если поменять местами в dbconnect.inc условия для соединений и соединение, глючит идущее первое по порядку -
Supplied argument is not a valid MySQL result resource in ... - и та строка, в которой пытаюсь что-либо извлечь...
Да, запрос пишу так -
PHP:
$sel2=mysql(DBName1, "select * from RJNEWS");
 

Demiurg

Guest
а где ты указываешь какое соединение использовать ?
 

AnToXa

prodigy-одаренный ребенок
З.Ы.
Соединение - это, то что тебе вернула mysql_connect, тот самый необязательный параметр во всех функциях, в твоем случае он обязателен :)
 

svirol

Новичок
Автор оригинала: AnToXa
З.Ы.
Соединение - это, то что тебе вернула mysql_connect, тот самый необязательный параметр во всех функциях, в твоем случае он обязателен :)
Тогда почему все нормально работает на локальном сервере?
 

tony2001

TeaM PHPClub
то, что где-то работает неправильно еще не значит, что везде должно так же работать.
там, значит, другая ситуация.
 

svirol

Новичок
Автор оригинала: AnToXa
З.Ы.
Соединение - это, то что тебе вернула mysql_connect, тот самый необязательный параметр во всех функциях, в твоем случае он обязателен :)
Большое спасибо за ответ, теперь все нормально работает :
PHP:
$sel2=mysql(DBName1, "select * from RJNEWS", $mysql_conn1);
 

svirol

Новичок
P.S.

Автор оригинала: tony2001
то, что где-то работает неправильно еще не значит, что везде должно так же работать.
там, значит, другая ситуация.
Да, абсолютная правда - другая ситуация.
На локальной машине идет непосредственное обращение к б. д. на стандартный порт, а на удаленном сервере - через соккеты.
 

зверек

Новичок
У меня похожая ситуация..Только файл коннекта к БД выглядит так:
db_connect.php
-------------
PHP:
   $host='localhost';
   $user='root';
   $passwd='';
   $dbname='name';

$dbh = @mysql_connect($host,$user,$passwd);   
if (!$dbh) {
          print "error connect  to mysql";
          exit;  }

$rc=@mysql_select_db($dbname,$dbh);
if (!$rc) {
          print "error select db $dbname";
          exit;  }
		  
function db($query) 
{
  global $dbh;
  $rc=mysql_query($query,$dbh);
  return $rc;
}
-------------

запрос к базе происходит сооветвенно:
$rs=db("select.....");

Есть еще одна база. Подключение к ней осуществляется точно через такой же файл, как к первой, только все переменные имеют префикс _forum

Когда делаю инклуд обоих файлов (db_connect.php
b db_forum_connect.php) - работают лишь запросы к той базе, которая подключалась последней.
Ошибки выдаются такие же, как у автора темы.

Подскажите, как тут быть?

-~{}~ 12.07.06 17:28:

Обобщу вопрос.
Как подключить к скрипту сразу две базы, лежащие на одном сервере?
 
Сверху