Foros del Web » Programando para Internet » PHP »

dos conexiones de bd al mismo tiempo?

Estas en el tema de dos conexiones de bd al mismo tiempo? en el foro de PHP en Foros del Web. Hola amigos!!! Imagino que si, pero por si acaso yo pregunto: ¿Se pueden tener dos conexiones a dos bases de datos abiertas al mismo tiempo? ...
  #1 (permalink)  
Antiguo 08/08/2008, 08:46
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 8 meses
Puntos: 0
dos conexiones de bd al mismo tiempo?

Hola amigos!!!
Imagino que si, pero por si acaso yo pregunto: ¿Se pueden tener dos conexiones a dos bases de datos abiertas al mismo tiempo?

Tengo este codigo :

Código:
	include $root._PATH_LIB._PATH_ADODB.'adodb.inc.php';	   # load code common to ADOdb
	WriteLog ("Direccion DB : ".$root._PATH_LIB._PATH_ADODB.'adodb.inc.php');
	$db = NewADOConnection('mysql');
	$db->Connect(_DEFAULT_HOST, _DEFAULT_USER, _DEFAULT_PASS, _DEFAULT_DB_NAME);

	getIdCompany($_SERVER["SERVER_NAME"],$db);
	define ("_PATH_COMPANY_NAME",$_SESSION["id_company"].'/');
	$company_settings = getCompanySettings($_SESSION["id_company"], $db);
	
		define ("_COMPANY_HOST",$company_settings[2]);
		define ("_COMPANY_USER",$company_settings[3]);
		define ("_COMPANY_PASS",$company_settings[4]);
		define ("_COMPANY_DB_NAME",$company_settings[5]);
	
		$db_company = NewADOConnection('mysql');
		$db_company->Connect(_COMPANY_HOST, _COMPANY_USER, _COMPANY_PASS, _COMPANY_DB_NAME);
Me tira el siguiente error:
PHP Fatal error: Call to a member function MoveNext() on a non-object in /home/demo/public_html/intranet2/include/auxfunc.php on line 333


y la funcion es esta :
Código:
function getIdModule($module_name, $conn){
	$c=0;
	$query="SELECT id_module FROM modules WHERE module_name LIKE '".strtolower($module_name)."'";
	WriteLog ("QUERY : ".$query);
	$recordSet = &$conn->Execute($query);
	while (!$recordSet->EOF) {
		$id_module[$c]=$recordSet->fields;
		$recordSet->MoveNext();
		$c++;
	}
	return $id_module[0][0];
}

que me falla?
  #2 (permalink)  
Antiguo 08/08/2008, 09:37
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
Respuesta: dos conexiones de bd al mismo tiempo?

Hola si se puede tener 2 conexiones a 2 base de datos.
El error es de PHP, seria conveniente que preguntes en dicho foro o pide al moderador que lo mueva.

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 12/08/2008, 09:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: dos conexiones de bd al mismo tiempo?

Poder se que se puede, pero al usar la libreria ADODB hay en algun momento que se vuelve tonta y por mucho que le pases la conexion ella solo se queda con una y no funciona.
He encontrado una pequeña solucion que es hacer la siguiente query:
Código PHP:
    $query="USE bd_name";
    
$db_name->Execute($query); 
y luego hacer la consulta pertinente con la base de datos utilizada.

Pero aún y así es una solucion cutrilla, a ver si alguien me puede hechar una mano

Gracias!!!
  #4 (permalink)  
Antiguo 14/08/2008, 23:06
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Respuesta: dos conexiones de bd al mismo tiempo?

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 15/08/2008, 08:02
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: dos conexiones de bd al mismo tiempo?

Prueba esto usando la funcion adodb_getall de la libreria ADODB
Código PHP:
<?$recordSet =&$conn->Execute($query);
$array adodb_getall($recordSet );
var_dump($array);?>
y asi ver que es lo que te trae de tu consulta
  #6 (permalink)  
Antiguo 19/08/2008, 02:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: dos conexiones de bd al mismo tiempo?

pero adodb_getall es lo mismo que poner esto
Código:
$rs =& $rs->Execute($sql);
while (!$rs->EOF) {
    var_dump($rs->fields);
   $rs->MoveNext();
}
no?
  #7 (permalink)  
Antiguo 19/08/2008, 03:05
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: dos conexiones de bd al mismo tiempo?

Yo lo he hecho en alguna ocasión sin problemas, pero yo uso esto:

Código PHP:
$link=mysql_connect($dbhost,$db_nom_usuari,$db_clave);
if(!
$link){
    die (
sql_error());
}
    
$link2=mysql_connect($dbhost2,$db_nom_usuari2,$db_clave2);
if(!
$link2){
    die (
sql_error());

Y luego al ejecutar una consulta le pasas a qué bbdd quieres hacerla:

Código PHP:
mysql_query("SELECT * FROM usuarios",$link);
mysql_query("SELECT * FROM facturas",$link2); 
A mi no me ha dado nunca problemas así, pero tú lo haces mediante ADO e igual de esta forma no te gusta o no te sirve

Saludos
  #8 (permalink)  
Antiguo 19/08/2008, 03:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: dos conexiones de bd al mismo tiempo?

ok lo probaré!


merci!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:45.