Foro de programación en PHP
Interactuar con varias bases de datos mysql
| Autor: Manuel González Publicado: 26-7-2010 06:52 PM |
|
|
Cordial saludo. Necesito ayuda con respecto al siguiente inconveniente: Tengo un form con los campos usuario y clave que son enviados y consultados de la base de datos maestra. Dependiendo del usuario la tabla tiene un campo adicional que se llama instituto. Ejemplo: Se conecta el usuario Pepito con clave 1234 del instituto XYZ, dicho usuario es validado y se recupera la variable instituto (para este caso XYZ). Los institutos son a su vez otras bases de datos. Lo que necesito es que cuando se recupere la información del campo instituto se desconecte de la base de datos maestra y se active la base de datos del instituto en cuestión. He tratado de hacerlo con un include que me guarde los datos de conexión de todas las bases de datos pero ha sido imposible, siempre me genera error: ---Config.php--- <?php function col_xyz(){ $host = "localhost"; // el host de la base de datos $user = "root"; // usuario de la base de $contra = ""; // contraseña de la base de datos $base = "xyz"; // Base de datos $conexion= mysql_connect($host,$user,$contra)or die ('Ha fallado la conexión: '.mysql_error()); mysql_selectdb($base,$conexion); } function col_abc(){ $host = "localhost"; // el host de la base de datos $user = "root"; // usuario de la base de $contra = ""; // contraseña de la base de datos $base = "abc"; // Base de datos $conexion= mysql_connect($host,$user,$contra)or die ('Ha fallado la conexión: '.mysql_error()); mysql_selectdb($base,$conexion); } ?> ---Seleccion.php---- <?php //Recupera la variable del form principal $instituto = $_POST['cole']; function consulta(){ //Hago una consulta de prueba con la conexión invocada $sql = mysql_query("SELECT * FROM datos",$conexion); //$resultado = mysql_query($consulta,$conexion) or die('Error al consultar: '.mysql_error()); while ($row = mysql_fetch_row($sql)){ echo "$row[1]<br>"; echo "$row[2]<br>"; } mysql_freeresult($sql); mysql_close($conexion); } //Incluyo el archivo de configuración de conexiones a bdd include("includes/Config.php"); if $instituto=='col_abc'{ //Llamo la función que está almacenada en Config.php col_abc(); //Invoco la consulta consulta(); }else{ col_xyz(); consulta(); } ?> Y al correr la web me arroja los siguientes errores: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\pruebax\index2.php on line 7 Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebax\index2.php on line 9 Warning: mysql_freeresult(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebax\index2.php on line 13 Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\pruebax\index2.php on line 14 |
|
| Autor: Postg Publicado: 04-8-2010 12:48 AM |
|
| Quieres dos bases de datos distintas, o dos tablas? | |

