Nueva pregunta

Pregunta:

Fecha: 05-02-2019 03:18:27 (En Español)

problema con "trying to get property of non object"[No resuelta]

Me da el error de "trying to get property of non object" al tratar de recuperar un registro de una fila recuparada de mi BD, les paso mi codigo x si alguno pueda darme una mano, muchas gracias.

CONTROLADOR

public function update_funcion()
	{
		$idProveedor = $this->input->post("idProveedor");
		$nombre = $this->input->post("nombre");
		$descripcion = $this->input->post("descripcion");
		$telefono = $this->input->post("telefono");
		$proveedorActual = $this->Proveedores_models->getProveedor2_model($idProveedor);
		//$error = var_dump($proveedorActual);
		//return $error;

                ///////el error da aca dice q no puede recuperar "nombre_proveedores" de la variable proveedorActual-->
		
               if ($nombre == $proveedorActual->nombre_proveedores)
		{
			$unique = '';
		}
		  else
		{
			$unique = '|is_unique[proveedores.nombre_proveedores]';
		}
		
		$this->form_validation->set_rules("nombre","Nombre","required".$unique);//se usa . para concatenar
		if ($this->form_validation->run())
		{
			$data = array
			(
				'nombre_proveedores' => strtoupper($nombre),
				'descripcion_proveedores' => strtoupper($descripcion),
				'telefono_proveedores' => $telefono
			);
			if ($this->Proveedores_models->update_model($idProveedor, $data))
			{
				redirect(base_url()."mantenimiento/proveedores");
			}
			else
			{
				$this->session->set_flashdata("error","Hubo un problema al actualizar la informacion");
				redirect(base_url()."mantenimiento/proveedores/edit_proveedores/".$idProveedor);
			}
		}
		else
		{
			$this->edit_funcion($idProveedor);
		}

	}


MODELO

public function getProveedor2_model($idProveedor)
	{
		$this->db->where("id_proveedores",$idProveedor);
		$resultado = $this->db->get("proveedores");

		return $resultado->row();
	
	}


AYUDA X FAVOR, llevo tres dias atascado con esto.. jajaja
Etiquetas: MySQL - PHP Votos: 0 - Respuestas: 10 - Vistas: 6 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 05-02-2019 04:36:07 Hola.
    En el modelo porque retornas un var_dump ?, comprobaste que te este llegando el $idProveedor al modelo ?
      Votos: 0 - Link respuesta
     
  • Fecha: 05-02-2019 05:09:05 perdon me olvide de borrar las pruebas q estaba haciendo, ahora edite mi codigo..
    Si comprobe que le llega el dato de idPRoveedor, en el var_dump me muestra la fila correspondiente al id.. Mi problema se presenta en el controlador, que por algun motivo q no descubro, en la variable ProveedorActual (que es donde se llama al modelo getproveedor2_model) no recibe lo q le envia la funcion (que seria la fila recuperada en la funcion del modelo)
      Votos: 0 - Link respuesta
     
  • Fecha: 05-02-2019 05:11:18
    object(CI_DB_mysqli_result)#23 (8) 
    { 
       ["conn_id"]=> object(mysqli)#15 (19)
          {
              ["affected_rows"]=> int(1) 
               ["client_info"]=> string(79) "mysqlnd 5.0.12-dev - 20150407 - $Id: 401a40ebd5e281cf22215acdc170723a1519aaa9 $" 
             ["client_version"]=> int(50012) 
             ["connect_errno"]=> int(0) 
             ["connect_error"]=> NULL 
             ["errno"]=> int(0) 
             ["error"]=> string(0) "" 
             ["error_list"]=> array(0) { } 
             ["field_count"]=> int(10) 
             ["host_info"]=> string(20) "localhost via TCP/IP" 
             ["info"]=> NULL 
             ["insert_id"]=> int(0) 
             ["server_info"]=> string(21) "5.5.5-10.1.37-MariaDB" 
             ["server_version"]=> int(50505) 
             ["stat"]=> string(134) "Uptime: 10727 Threads: 1 Questions: 541 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 27 Queries per second avg: 0.050" 
             ["sqlstate"]=> string(5) "00000" 
             ["protocol_version"]=> int(10) 
             ["thread_id"]=> int(90) 
             ["warning_count"]=> int(0) 
          } 
          ["result_id"]=> object(mysqli_result)#22 (5) 
             {
                ["current_field"]=> int(0) 
                ["field_count"]=> int(10) 
                ["lengths"]=> NULL 
                ["num_rows"]=> int(1) 
                ["type"]=> int(0) } 
                ["result_array"]=> array(0) { } 
                ["result_object"]=> array(1) 
                   { 
                      [0]=> object(stdClass)#24 (10) 
                      { 
                            ["id_producto"]=> string(1) "1" 
                         ["codigo_producto"]=> string(6) "123456" 
                         ["nombre_producto"]=> string(7) "FOSFORO" 
                         ["descripcion_producto"]=> string(22) "CAJA PEQUEñA FOSFOROS" 
                         ["pCosto_producto"]=> string(3) "250" 
                         ["precio_producto"]=> string(3) "500" 
                         ["proveedor_id_producto"]=> string(1) "1" 
                         ["stock_producto"]=> string(2) "50" 
                         ["categoria_id_producto"]=> string(1) "1" 
                         ["estado_producto"]=> string(1) "1" 
                      } 
                   }
                 ["custom_result_object"]=> array(0) { }
                 ["current_row"]=> int(0) 
                ["num_rows"]=> NULL 
                   ["row_data"]=> NULL 
    } 
      Votos: 0 - Link respuesta
     
  • Fecha: 05-02-2019 05:13:00 esto me retornaba el var_dump si te fijas, carga en la variable resultado el registro de la fila.. pero la variable q llama a la funcion por algun motivo no recibe el registro x algun motivo   Votos: 0 - Link respuesta
     
  • Fecha: 05-02-2019 06:04:36 Según lo que veo tu consulta te trae estos datos y no veo un campo que diga nombre_proveedores por lo tanto te va a dar error.
    lo que si te trae el el id del proveedor...

    ["id_producto"]=> string(1) "1"
    ["codigo_producto"]=> string(6) "123456"
    ["nombre_producto"]=> string(7) "FOSFORO"
    ["descripcion_producto"]=> string(22) "CAJA PEQUEñA FOSFOROS"
    ["pCosto_producto"]=> string(3) "250"
    ["precio_producto"]=> string(3) "500"
    ["proveedor_id_producto"]=> string(1) "1"
    ["stock_producto"]=> string(2) "50"
    ["categoria_id_producto"]=> string(1) "1"
    ["estado_producto"]=> string(1) "1"
      Votos: 0 - Link respuesta
     
  • Fecha: 05-02-2019 23:55:39 array(1) {
    [0]=> object(stdClass)#22 (5)
    {
    ["id_proveedores"]=> string(1) "2"
    ["nombre_proveedores"]=> string(6) "PRUEBA"
    ["descripcion_proveedores"]=> string(21) "DESCRIPCION DE PRUEBA"
    ["telefono_proveedores"]=> string(8) "00000000"
    ["estado_proveedores"]=> string(1) "1" } } ["custom_result_object"]=> array(0) { }
    ["current_row"]=> int(0)
    ["num_rows"]=> NULL
    ["row_data"]=> NULL
    }
      Votos: 0 - Link respuesta
     
  • Fecha: 05-02-2019 23:57:48 en realidad este es el var_dump del modelo proveedores, el otro es de productos.. esq estaba saliendo para el trabajo y lo envie a la apurada.. perdon.. En este se ve como recupera correctamente el registro..   Votos: 0 - Link respuesta
     
  • Fecha: 06-02-2019 00:10:59 el var_dump de $proveedorActual (la variable que llama al modelo) retorna NULL   Votos: 0 - Link respuesta
     
  • Fecha: 06-02-2019 02:22:44 Hola Elvio.
    No soy usuario de codigniter, pero, me baje la version actual 3, simule tus mismas consultas y estan correctas, en el unico caso que me devuelve null al controlador es cuando en la base de datos no encuentra un resultado, le pasaba un id valido y me devolvia resultado, luego le pasé un id que no existia y me devolvio null.
    hasta aquí llegue, lamento no poder ayudar.
    saludos.
      Votos: 0 - Link respuesta
     
  • Fecha: 06-02-2019 02:58:37 si, es muy raro!! gracias x tomarte la molestia igual!!! muy amable..   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión