我知道有多個線程存在此問題,但它們總是有不同的原因,它們都不是我的。嘗試從數據庫訪問變量時獲取非對象的屬性
我試圖從數據庫訪問值,連接是好的,我只是得到了這個錯誤不少,我已經通過改變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