我知道有多个线程存在此问题,但它们总是有不同的原因,它们都不是我的。尝试从数据库访问变量时获取非对象的属性
我试图从数据库访问值,连接是好的,我只是得到了这个错误不少,我已经通过改变fetch_object()
fetch_assoc()
(我不知道为什么的作品)。但这里似乎没有任何工作:
include 'structure.php';
include 'conexion.php';
$con = new conexion();
$bd = $con->conect();
$querycliente = $con->obtener('cliente');
$row = $querycliente->fetch_object();
$id_cliente = $row->id_cliente;
$p_dom = $con->obtener('presupuesto', " cliente_id_cliente = '".$id_cliente."' AND servicio = 'dominio' ");
$p_host = $con->obtener('presupuesto', " cliente_id_cliente = '".$id_cliente."' AND servicio = 'hosting' ");
$p_correos = $con->obtener('presupuesto', " cliente_id_cliente = '".$id_cliente."' AND servicio = 'correos' ");
$precio1 = $p_dom->fetch_object();
$precio2 = $p_host->fetch_object();
$precio3 = $p_correos->fetch_object();
我不断收到此错误:试图让非对象的属性在C:\ XAMPP \ htdocs中\ bootproject \ precios.php上线26(并在其他行中,我尝试访问数据库中的值),它只能在$id_cliente = $row->id_cliente;
第一次,所以为什么其他工作?
这是类和我使用的方法(至极,因为我已经多次已经使用了他们在整个我的代码的其余工作正常):
class conexion{
public $dbase;
function conect(){
$this->dbase = new mysqli('xxxx', 'xxxx', 'xxxx','xxxx');
}
function obtener($tabla, $where = ""){
$where = ($where != "") ? 'WHERE '.$where: '';
$query = $this->dbase->query('SELECT * FROM `'.$tabla.'` '.$where);
return $query;
}
}
希望能对你有所帮助,谢谢你期待。
我试过了,它仍然不起作用,它不断给我同样的错误 –
另外,我试图做“$ row-> close ();”它给了我这个错误:致命错误:未捕获错误:调用未定义的方法stdClass :: close()in ... –
这是正确的错误*因为close()*应设置为* $ querycliente *,而不是$ row 。这东西应该有效,你有错误* precios.php 26行*可能它不是代码,因为该代码的最后一行接近20 – dwaskowski