2009-06-07 151 views
0

我目前正在試圖從表中提取數據,並在用這樣的:我應該使用什麼mysqli函數?

$online = mysqli_fetch_field(mysqli_query($db, 
     "SELECT `online` FROM `tbl_system` WHERE `property` = 'extranet'")); 

但是,它不工作作爲呼應$online給予「陣列」。

下面是從$一個的var_dump在線

object(stdClass)#3 (11) { 
       ["name"]=> string(6) "online" 
       ["orgname"]=> string(6) "online" 
       ["table"]=> string(10) "tbl_system" 
       ["orgtable"]=> string(10) "tbl_system" 
       ["def"]=> string(0) "" 
       ["max_length"]=> int(1) 
       ["length"]=> int(11) 
       ["charsetnr"]=> int(63) 
       ["flags"]=> int(36865) 
       ["type"]=> int(3) 
       ["decimals"]=> int(0) } 

回答

1

除非我弄錯了,否則無法直接獲取一列數據。您將需要獲取整行,即使它只是一列,然後手動從結果數組中獲取值。

編輯:混沌的答案看起來非常像我的意思。

2

您正在尋找的功能不是mysqli_fetch_field()。它提取有關字段的信息,但不提供字段數據本身

嘗試此代替:

$row = mysqli_fetch_assoc(mysqli_query($db, "SELECT `online` FROM `tbl_system` WHERE `property` = 'extranet'")); 
echo $row['online']; 
8

嘗試以下功能之一:

  • mysqli_fetch_array - 從結果集中取得一行作爲關聯,數字陣列,或二者

    $row = mysqli_fetch_array($result); 
    echo $row[0]; // or 
    echo $row['online']; 
    
  • mysqli_fetch_assoc - 將結果行作爲關聯數組

    $row = mysqli_fetch_assoc($result); 
    echo $row['online']; 
    
  • mysqli_fetch_object - 返回的結果的當前行設置爲對象

    $row = mysqli_fetch_object($result); 
    echo $row->online; 
    
  • mysqli_fetch_row - 獲取結果一行作爲枚舉陣列

    ​​

$result是:

$result = mysqli_query($db, "SELECT `online` FROM `tbl_system` WHERE `property` = 'extranet'"); 
1

這是一個有點offtopic,但我建議你使用更高級別的框架來使用數據庫的工作,像http://adodb.sourceforge.net/例如

+0

謝謝:)它看起來有用,我肯定會考慮的! – bear 2009-06-07 18:23:19

相關問題