Foros del Web » Programando para Internet » PHP »

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in

Estas en el tema de Warning: mysqli_query() expects parameter 1 to be mysqli, null given in en el foro de PHP en Foros del Web. Hola a todos, Tengo un problema con mysql que no acabo de comprender. Cuando hago dos llamadas consecutivas a la base de datos la segunda ...
  #1 (permalink)  
Antiguo 04/06/2010, 05:40
 
Fecha de Ingreso: abril-2009
Mensajes: 80
Antigüedad: 15 años
Puntos: 0
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in

Hola a todos,

Tengo un problema con mysql que no acabo de comprender. Cuando hago dos llamadas consecutivas a la base de datos la segunda falla, me devuelve un null (para ser exactos el warning del titulo), esto ocurre en la linea $row=mysqli_fetch_array($r, MYSQLI_ASSOC);


Código PHP:
require_once('../mysql_conexion.php');
    
            
$q="SELECT nombre,ruta_id,descripcion,imagen FROM tematicas WHERE ciudad='".$this->ciudad."'";
            echo 
$q;
            
$r=@mysqli_query($dbc$q);
            
$i=0;
            
$respuesta="";
            while(
$row=mysqli_fetch_array($rMYSQLI_ASSOC)){

            
$datos='{"Nombre":"'.$row[nombre].'","Identificador de la ruta":"'.$row[ruta_id].'", "Descripcion":"'.$row[descripcion].'"';
            if(
$this->imagen){$datos.=', "Imagen":'.$row[imagen];}
            
$datos.="}";
            if(
$i==0)
            {
$respuesta.=$datos;}
            else
            {
$respuesta.=",".$datos;}
            
$i+=1;
            }
            
$this->responseBody='{"Lista de rutas":['.$respuesta.']}';

            echo 
$this->responseBody;
            
            }else{

            
$eleccion=$_GET['eleccion'];
            
            require_once(
'../mysql_conexion.php');
    
            
$q="SELECT nombre,descripcion,ruta_poi,ruta_coord FROM tematicas WHERE ruta_id='".$this->eleccion."'";
            
$r=@mysqli_query($dbc$q);
            [
B]$row=mysqli_fetch_array($rMYSQLI_ASSOC);[/B]

            
$this->responseBody='{"Nombre":"'.$row[nombre].'","Ciudad":"'.$ciudad.'","POI en la ruta":"'.$row[ruta_poi].'","Coordenadas por las que pasa la ruta":"'.$row[ruta_coord].'", "Descripcion":"'.$row[descripcion].'"}';

            echo 
$this->responseBody

Alguien podria decirme que estoy haciendo mal??

Saludos y gracias a todos
  #2 (permalink)  
Antiguo 04/06/2010, 05:41
 
Fecha de Ingreso: abril-2009
Mensajes: 80
Antigüedad: 15 años
Puntos: 0
Respuesta: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in

bueno veo que no se ha marcado en negrita. La linea a la que me refiero es la tercera (de codigo) empezando por debajo, la que esta entre los cochetes
  #3 (permalink)  
Antiguo 04/06/2010, 06:09
 
Fecha de Ingreso: abril-2009
Mensajes: 80
Antigüedad: 15 años
Puntos: 0
Respuesta: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in

Segui probando cosas y he descubierto que el error esta en
Código PHP:
require_once('../mysql_conexion.php'); 
Con esta pagina preparo una variable de tipo mysqli que prepara la conexion a mi base de datos y demas. Esa variable se llama $dbc. Pues hive un var_dump despues de cada
Código PHP:
require_once('../mysql_conexion.php'); 
y para el primer caso el resultado es :

object(mysqli)#3 (0) { }

y con eso hace perfectamente la llamada a la base de datos, pero en le segundo algo sale mal y el resultado es:

NULL

Alguien sabe porque es NULL el valor del objeto en la segunda llamda??

Saludos y muchas gracias por vuestro tiempo
  #4 (permalink)  
Antiguo 04/06/2010, 06:31
 
Fecha de Ingreso: abril-2009
Mensajes: 80
Antigüedad: 15 años
Puntos: 0
Respuesta: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in

vale problema resuelto. Al usar una API tenia que pasar el obejto mysqli como un parametros mas, no podia andar haciendo llamadas a require_once('../mysql_conexion.php'); cada vez que me hacia falta :D

Etiquetas: mysqli, null, warning
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 08:11.