Comunidad de diseño web y desarrollo en internet online

Conexion alternativa de BD

Citar            
MensajeEscrito el 29 Sep 2008 03:28 pm
Saludos hnos clabbers, quisiera saber si esxite la posibilidad e de establecer una conexion alternativa a una BD en el caso que la conexion principal no este disponible, es ecir por ejemplo tengo mi BD colgada en un servidor X, me conecto a ella via PHP, todo OK hasta ahi, pero cuando estoy probando mi pagina (que se conecta con la BD) en mi Localhost no puedo conectarme a la BD alojada en el servidor remoto (vaya Dios a saber porque, el servidor es Godaddy) asi que necesito conectarme a la copia local que tengo en mi makina, pero esto trae el inconveniente de tener que estar editando o bien la linea de que conecta a la bd

Código PHP :

require_once('Connections/conexion_remota.php');


por algo como

Código PHP :

require_once('Connections/conexion_local.php');


lo cual obviamente conlleva tener 2 archivos de conexion y realizar el bendito cambio en cada pagina que llame a la conexión. o en su defecto editar el archivo de conexion cada vez que necesite probar la base en local

Por eso quiesiera saber si hay algun metodo par que cuando PHP intente conectarse a la BD si no lo logra busque una segunda conexion, sin mostrar mensaje de error en la pantalla.

Sera posible diche maravilla??

el archivo de conexion a la base de datos es el clasico

Código PHP :

<?php
$hostname='tu.servidor.remoto';
$username='usuario';
$password='password';
$dbname='base_de_datos';

mysql_connect($hostname,$username, $password) OR DIE ('No puedo conectarme a la base de datos! Intentelo nuevamente.');

$base = mysql_connect($hostname,$username, $password) OR DIE ('No puedo conectarme a la base de datos! Intentelo nuevamente.');
?>

Por NeoCesar

Claber

1415 de clabLevel

14 tutoriales

Genero:Masculino  

Algun lugar dentro de la Matrix (Lima - Perú)

firefox
Citar            
MensajeEscrito el 29 Sep 2008 11:27 pm
claro eso se llama multiples conecciones a bases de datos revisa mi web utilizando mas de una base de datos en un scriopt solo deberas seleccionar la base de datos con mysql_select_db creeo q es asi y deberas tener datos diferentes

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 30 Sep 2008 09:41 pm
Hola

Eso lo podes solucionar separando los datos de la coneccion a la bd en un archivo .ini o xml o txt externo al archivo de coneccion... de esta forma es mucho mas simple y comodo de utilizar y modificar.

Otra forma es haciendo q tu coneccion se un poco mas inteligente ¿como? verificando en q ambiente se esta ejecutando la aplicacion... esto lo podes hacer por ejemplo con $_SERVER["HTTP_REQUEST"] (si no me equivoco). De esta manera, o similar, trabajan los diferentes frameworks...

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 01 Oct 2008 01:40 pm
He resuelto mi problema de una manera muy poco rotodoxa, he aqui el codigo

Código PHP :

<?php
$hostname='tu.servidor.remoto';
$username='tu_usuario_remoto';
$password='tu_password_remoto';

$hostname2='localhost';
$username2='tu_usuario_local';
$password2='tu_password_local';

$dbname='tu_base_de_datos';
#Para efectos del ejemplo supondremos que es la misma base de datos en ambas bases de datos tanto la remota como la local

$conex_remota = @mysql_connect($hostname,$username, $password);
#notese el @ antes del comando mysql_connect para evitar que arroje mensaje de error de PHP

if (!($conex_remota)) {
    $conex_local = @mysql_connect($hostname2,$username2, $password2) OR DIE ('No puedo conectarme a la base de datos local! Intentelo nuevamente.');
}
mysql_select_db($dbname);
?>

Por NeoCesar

Claber

1415 de clabLevel

14 tutoriales

Genero:Masculino  

Algun lugar dentro de la Matrix (Lima - Perú)

firefox
Citar            
MensajeEscrito el 01 Oct 2008 05:05 pm
Pues funciona tu solución, pero pues provocas un error de conexión innecesario, lo mas elegante para esos casos es tener un archivo de configuración, algo donde solo tengas el user y pass de la db.

Entonces en local tienes un config.php con los datos de localhost y en el server tienes OTRO config.php con los datos remotos. Es lo que yo hago, suerte!

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.