fatal error on boolean

Iniciado por geshiro, 19 Marzo 2016, 03:43 AM

0 Miembros y 1 Visitante están viendo este tema.

geshiro

Fatal error: Call to a member function fetch_object() on boolean in C:\xampp\htdocs\store\controllers\sales.php on line 35


Código (php) [Seleccionar]

case 'save':
          $sale = new Sale();
          if(count($_SESSION['detalle'])>0){
            $sale->saveSale();
            $recordLastSale = $sale->getLastSale();
            $resultLastSale = $recordLastSale->fetch_object();
            $idsale = $resultLastSale->last;
            foreach ($_SESSION['detalle'] as $detail):
                $idproduct = $detail['idsale_detail'];
                $amount = $detail['amount'] ;
                $price = $detail['price'];
                $subtotal = $detail['subtotal'];
                if($sale->saveSaleDetail($idsale,$idproduct,$amount,$price,$subtotal)){
                  echo "success";
                }else{
                  echo "something when wrong";
                }
              endforeach;
              $_SESSION['detalle'] = array(); 
          }else{
              echo "something when wrong";
          }
       break;

Shell Root

Agrega un var_dump antes de que se lance el error, es decir:
Código (php,2) [Seleccionar]
            $recordLastSale = $sale->getLastSale();
            var_dump($recordLastSale);
            $resultLastSale = $recordLastSale->fetch_object();
            $idsale = $resultLastSale->last;
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

xiruko

Código (php) [Seleccionar]
$recordLastSale = $sale->getLastSale();

Esto te está devolviendo un boolean en lugar de un mysqli_result. Revisa esa función para ver por qué falla.

Saludos!

geshiro

me lanza ahora esto

bool(true)
Fatal error: Call to a member function fetch_object() on boolean in C:\xampp\htdocs\store\controllers\sales.php on line 36

si le pongo var_dump();

Shell Root

Eso quiere decir que esta enviando un valor booleando de estado TRUE, cuando deberia de recibir un objeto!
Ingresa a la función getLastSale(); y verifica que return.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

geshiro

esta e n mi funcion getLastSale
Código (sql) [Seleccionar]

function getLastSale(){
$sql = "SELECT LAST_INSERT_ID() AS last";
if($this->conexion->conexion->query($sql)){
return true;
}else{
return false;
}
$this->conexion->conectar();
}


Shell Root

Ahi lo tienes, estas devolviendo un booleano, debería de devolver es el valor de la query.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

geshiro

#7
me sale esto ahora
Fatal error: Call to a member function fetch_object() on string in C:\xampp\htdocs\store\controllers\sales.php on line 35

Shell Root

Sabes la diferencia entre un booleano, string, objeto, etc?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

geshiro

si , bool = 0,1 , string = caracteres y asi