que he hecho mal que no me deje agregar en la parte de la variable $brand me tira on boolean y como pudiera resolverlo
case 'add_product':
$result = new brand();
$newProduct = new product();
$code = trim(stripslashes(htmlspecialchars($_POST['code'])));
$product = trim(stripslashes(htmlspecialchars($_POST['product'])));
$price = trim(stripslashes(htmlspecialchars($_POST['price'])));
$stock = trim(stripslashes(htmlspecialchars($_POST['stock'])));
$brand = $result->getBrandById($_POST['brand']);
if($newProduct->add($code,$product,$brand,$price,$stock)){
echo "success";
}
else{
echo "No se registro";
}
break;
function getBrandById($id){
$sql = "SELECT idbrand,code_,brand FROM brand where idbrand={$id}";
$result = $this->conexion->conexion->query($sql);
$array = array();
while($record = $result->fetch_array(MYSQL_NUM)){
$array[] = $record;
}
return $array;
$this->conexion->cerrar();
}
$result = $this->conexion->conexion->query($sql);
al igual que mysql clasico
http://php.net/manual/es/pdo.query.php (http://php.net/manual/es/pdo.query.php)
CitarPDO::query() devuelve un objeto PDOStatement, o FALSE en caso de error.
$result->fetch_array(MYSQL_NUM)
funciona solo si $result es un PDOStatement... pero si fue error, es FALSE que es booleano y como tal no tiene una propiedad fetch_array
la solución más simples es ver si hubo errores
if(!$result) echo $this->conexion->conexion->errorInfo()
y como lo repararia es que ya no como, si me hechas la mano?
me cito a la respuesta al problema que ya te di
Cita de: engel lex en 6 Abril 2016, 05:58 AM
la solución más simples es ver si hubo errores
if(!$result) echo $this->conexion->conexion->errorInfo()
y por consecuencia si hubo errores, es corregir el error
aunque huelo donde está el error
CitarSELECT idbrand,code_,brand FROM brand where idbrand={$id}
estás pidiendole entre los elementos, la tabla?
si
sige igual prove quitando brand y nada, y con lo de mostrar el error no da error
Mod: No hacer doble post
(como en examen)
justifica tu respuesta:
(explicame que intentas hacer pidiendo eso el brand)
estás serudo del enlace al query?
$this->conexion->conexion->query
lo que hace es que no muestre el valor numerico(id) de brand si no el nombre me ya lo borre de hecho porque esta de mas por cosa solo deje idbrand para solo tomarlo idnumerico y en el combo muestra el valor que es no numerico solo que es esa parte nomas la que no me deja
me ayudas a crear la solucion man?
has algo...
vas a hacer
if(!$result) var_dump($this->conexion);
si da una cantidad grande de datos, pegalo en pastebin y pasa el link
SELECT idbrand,code_ FROM brand where idbrand=1[["1","A6411la"]]
function getBrandById($id){
$sql = "SELECT idbrand,code_ FROM brand where idbrand={$id}";
echo $b = $sql;
$result = $this->conexion->conexion->query($sql);
$array = array();
while($record = $result->fetch_array(MYSQL_NUM)){
$array[] = $record;
}
return $array;
$this->conexion->cerrar();
}
}
$ins = new brand();
$r = $ins->getBrandById('1');
echo json_encode($r);
no entendi si funcionó o no...y aún no haces revisión de errores