2009-06-07 11 views
0

私は現在のテーブルからデータを抽出しようとしている、とこれを使用しています:私はどんなmysqli関数を使うべきですか?

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

しかし、それは$onlineギブ「アレイ」をエコーとして働いていません。ここで

は、あなたが欲しいオンライン$

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) } 

答えて

3

からのvar_dumpです:

$query = mysqli_query($db, "SELECT online FROM tbl_system WHERE property = 'extranet'"); 
$row = mysqli_fetch_array($query); 
$online = $row[0]; 

mysqli_fetch_field()カラム定義、ないデータを取得するためであり、それは完璧にうまく機能しています:あなたのコラムを恩返し定義オブジェクトです。

mysqli_fetch_array(),mysqli_fetch_assoc()およびmysqli_fetch_object()は、データ検索用である。

1

私が間違っていない限り、1つの列のデータを直接取得する方法はありません。たとえ列が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

関連する問題