Fatal error: Call to a member function fetch_object() on boolean in C:\xampp\htdocs\store\controllers\sales.php on line 35
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;
Agrega un var_dump antes de que se lance el error, es decir:
$recordLastSale = $sale->getLastSale();
var_dump($recordLastSale);
$resultLastSale = $recordLastSale->fetch_object();
$idsale = $resultLastSale->last;
$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!
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();
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.
esta e n mi funcion getLastSale
function getLastSale(){
$sql = "SELECT LAST_INSERT_ID() AS last";
if($this->conexion->conexion->query($sql)){
return true;
}else{
return false;
}
$this->conexion->conectar();
}
Ahi lo tienes, estas devolviendo un booleano, debería de devolver es el valor de la query.
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
Sabes la diferencia entre un booleano, string, objeto, etc?
si , bool = 0,1 , string = caracteres y asi
Listo, entonces para que haces un fetch_object() si ya tienes el string del retorno de la función getLastSale();
Por ejemplo,
En la primera linea del siguiente código estoy realizando la ejecución de la query.
En la segunda estoy recorriendo el objecto $resultado; que es el resultado de la ejecución de la query. (Si haces un var_dump() podrás ver lo que contiene la variable $resultado)
Ahora el objeto $obj contiene la información de la query y se manimula como un objeto $obj->Name y $obj->CountryCode
if ($resultado = $mysqli->query($consulta)) {
while ($obj = $resultado->fetch_object()) {
printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
}
me ayudas con el error para que ya me lo de ya pueda mandarlo lo que hace las funciones de base de datos?
en mi caso como seria entonces?