Foros del Web » Programando para Internet » PHP »

Al cambiar la conexión de BBDD (del mismo server) me da error

Estas en el tema de Al cambiar la conexión de BBDD (del mismo server) me da error en el foro de PHP en Foros del Web. Buenas, Me pidieron montar un concurso reutilizando un código hecho por otro. El código funciona, pero solo cambiándole la base de datos a la que ...
  #1 (permalink)  
Antiguo 29/08/2009, 06:54
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Al cambiar la conexión de BBDD (del mismo server) me da error

Buenas,

Me pidieron montar un concurso reutilizando un código hecho por otro. El código funciona, pero solo cambiándole la base de datos a la que se tiene que conectar (solo la BD, el servidor es el mismo y son las mismas tablas) me sale este error:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/4x4hiphop.com.es/httpdocs/concurso_rimas/comun/funciones.php on line 54

En la línea 54 está esta función:

Código PHP:
function Resultado($consulta)
{
    
$fila mysql_fetch_object($consulta); //linea 54
    
return $fila;

En $consulta se le pasa una query. La función que conecta con la BBDD es la siguiente:

Código PHP:
function Conectar($base)
{
    
#inicializo las rutas rutas

    
$bbdd_user "user";
    
$bbdd_pass "pass";
    
$conn mysql_connect($bbdd_path,$bbdd_user,$bbdd_pass);
    if (
$conn)
    {
        
mysql_select_db($base$conn);
        return 
$conn;
    }
    else
    {
      echo 
"Error al acceder a la base de datos ".$base.". Inténtalo más tarde.";
      return 
false;
    }    

Lo único que cambio es la base de datos al cual se tiene que conectar, pero las tablas que hay son las mismas. Que puedo hacer?

Gracias de antemano.
  #2 (permalink)  
Antiguo 29/08/2009, 07:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

¿Que base de datos tienes ahora? Acuerdate que esas funciones solo sirven si la base de datos es mysql
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 29/08/2009, 07:30
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Sí sí, es mysql igual. De hecho está en el mismo servidor.

He copiado las tablas que necesitaba y en el código php solo cambié la base de datos.
  #4 (permalink)  
Antiguo 29/08/2009, 07:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Que tienes declarado en $consulta
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 29/08/2009, 08:13
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Aquí se llama a consulta, hay más llamamientos similares en la misma página por eso.
Código PHP:
$sql "select * from VOTACIONES_MAQUETAS where ACTIVO = 1 and ID_MAQUETA = '".$mimaqueta->ID."' and JUEZ = '1'";
                                                                            
$query Consulta($sql,$db);
                                                                            while(
$result Resultado($query))
                                                                        { ..... 
blabla 
Y la función Consulta() es:

Código PHP:
function Consulta($sql,$conn)
{
    
$resultado mysql_query($sql,$conn);
    
//Logeo
    
$ejecutado "No";
    
$ip $_SERVER["REMOTE_ADDR"];
    if(
$resultado mysql_query($sql,$conn))
    {
        
$ejecutado "Si";
        
EscribeLog($sql,"sql",$ejecutado);
    }else
    {
        
$ejecutado "No";
        
EscribeLog($sql,"sql",$ejecutado);
    }
    return 
$resultado;

Parece que no hace bien la conexión a la BBDD...
  #6 (permalink)  
Antiguo 29/08/2009, 08:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

hazle un var_dump a $mimaqueta->ID
Código php:
Ver original
  1. var_dump($mimaqueta->ID);
A ver que trae
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 29/08/2009, 08:37
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

He hecho el var_dump (daba NULL) justo después de la función que hace la primera consulta, es getInfoMaqueta($id, $activo), en esa función llama a la función Consulta() y Resultado() con una query que he probado en el phpmyadmin y funciona correctamente.
  #8 (permalink)  
Antiguo 29/08/2009, 08:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Pues ahi tienes, no esta trayendo información $mimaqueta->ID. Vas a tener que verificar como esta declarando esa variable.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 29/08/2009, 10:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

El servidor no lo gestiono yo, es posible que el apache no tenga acceso a esa base de datos en concreto?
  #10 (permalink)  
Antiguo 29/08/2009, 10:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Hazte un archivo de php que tenga solamente esto y verifica si tiene coneccion a mysql
Código php:
Ver original
  1. <?php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 29/08/2009, 10:36
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Sí, conexión sí que tiene. De hecho hice la prueba de conectarlo a la otra database y sí que lo leía, pero al cambiarlo de database (insisto en que es en el mismo servidor y con las mismas tablas) da ese error. Lo único que se me ocurre es que se tengan que gestionar los permisos al crear una base de datos nueva.

No es un hosting lo que está contratado, es un alquiler de servidor que los proveedores mismos gestionan. Ya les he escrito a ver que comentan, si no es eso no sé que puede ser...

Muchas gracias abimaelrc.
  #12 (permalink)  
Antiguo 29/08/2009, 10:39
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 14 años, 11 meses
Puntos: 8
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Hola ... para la nueva base de datos .. ¿tienes los permisos de usuario y contraseña?, es decir, la base de datos es "la misma" , tiene las mismas tablas, todo lo mismo, pero LA CAMBIASTE, es decir, es OTRA base de datos ... para ella debes tener datos de LOGIN [name & password], sino, no te conectarás jamás ... te recomiendo que hagas una conexión sencilla, y recojas cualquier valor, algo así como:

$sql = "SELECT * FROM `VOTACIONES_MAQUETAS`";
$result= mysql_query($sql, $link);
$row = mysql_fetch_array($result);

echo $row['ID_MAQUETA'];//te imprimirá solo la ID_MAQUETA del primer registro


Si te da error, pues evidente estás teniendo problemas de conexión a tu base de datos, revisa o pregunta los datos de login para acceder a la misma, o bien REVISA QUE LOS CAMPOS ESTÉN ESCRITOS EN MAYUSCULA tal y como usas en tu consulta, pues php para esas cosas es bien exquisito...

PD: como creaste la nueva base de datos ??? con PhpMYAdmin ?? si es así pues debiste tener nombre de usuario y pass para acceder a un server remoto y trabajar sobre esa base de datos .. me explico ?? :)

... espero te sirva .. salu2
  #13 (permalink)  
Antiguo 29/08/2009, 10:50
 
Fecha de Ingreso: agosto-2007
Mensajes: 48
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

Ya conseguí que fuese un script sencillo, voy a ver si funciona con el resto.

En lugar de conectar con el usuario normal de la BBDD conecté directamente con root, ahí sí que mostró el resultado.

Muchas gracias abimaelrc y joaowizard :D.
  #14 (permalink)  
Antiguo 29/08/2009, 11:10
 
Fecha de Ingreso: abril-2009
Ubicación: Miami
Mensajes: 182
Antigüedad: 14 años, 11 meses
Puntos: 8
De acuerdo Respuesta: Al cambiar la conexión de BBDD (del mismo server) me da error

entonces era problemas de usuario ... de todas formas, aunque ahora te conectes bien, te recomiendo crear un usuario para la conexión, y no uses el root ... salu2 ...

---------------------------------------------------------------
Cita:
Iniciado por NoiK Ver Mensaje
Ya conseguí que fuese un script sencillo, voy a ver si funciona con el resto.

En lugar de conectar con el usuario normal de la BBDD conecté directamente con root, ahí sí que mostró el resultado.

Muchas gracias abimaelrc y joaowizard :D.
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 04:54.