2014-01-21 41 views
0

为什么我得到的错误:mysqli的获取对象的问题

Fatal error: Call to undefined method mysqli::fetch_object()

继承人我的代码:

$mysqli = new mysqli($db_data_hostname, $db_data_username, $db_data_password, $db_data_dbname); 
    $query = "SELECT attName, attType, attOptions FROM form_constructor WHERE device_name='$deviceType';"; 

    $result = $mysqli->query($query); 

    while($row = $mysqli->fetch_object($result)){ 

     echo $row->attName; 
     echo $row->attType;   
     echo $row->attOptions; 

    } 
+1

你的语法是关闭的,请参阅[这里](http://stackoverflow.com/questions/12209719/mysqli-fetch-objectresult-not-working)。 – camdenl

回答

2

您必须使用的mysqli结果:

while($row = $result->fetch_object()){ 

     echo $row->attName; 
     echo $row->attType;   
     echo $row->attOptions; 

    } 
+0

我现在得到这个错误:Warning:mysqli_result :: fetch_object()期望参数1是字符串,在 – mickzer

+0

给出的对象Sure..remove the.....my bad。 –

4

为什么你得到的错误?

您需要使用分配有$mysqli->query的变量$resultRead about MySQLi Object approach on the manual

您的代码已修复。

$mysqli = new mysqli($db_data_hostname, $db_data_username, $db_data_password, $db_data_dbname); 
    $query = "SELECT attName, attType, attOptions FROM form_constructor WHERE device_name='$deviceType';"; 

    $result = $mysqli->query($query); 

    while($row = $result->fetch_object()){ 

     echo $row->attName; 
     echo $row->attType;   
     echo $row->attOptions; 

    } 
3

你应该叫fetch_object的语句结果从$结果获得。 所以你的while循环看起来像:

while($row = $result->fetch_object()) {