2013-08-22 78 views
0

以下示例顯示如何輸出單個表列註釋。將信息模式列註釋返回到php數組中

$db = mysql_connect("localhost","root","xyz") or die(mysql_error()); 
mysql_select_db("database",$db) or die(mysql_error()); 

function table_description($t,$c,$d){ 
    $sql = "SELECT column_comment FROM information_schema.columns 
     WHERE table_name = '$t' AND column_name LIKE '$c'"; 
    $query = mysql_query($sql,$d) or die(mysql_error()); 
    $v = mysql_fetch_row($query); 
    if($v){ 
     return $v[0]; 
     } 
    return 'Table description not found'; 
    } 

echo table_description('table','col',$db); 

但是我希望table_description返回該表中每列註釋的數組。 例如Column_Name,Column_Comments(so「RecID」=>「記錄的ID」)等 我幾乎沒有使用php數組/將結果集轉換爲數組的經驗。

回答

1

循環通過查詢結果與一個while循環,將結果存儲在while環路的範圍之外的陣列...

例如:

function table_description($t,$c,$d){ 
    $t = mysql_real_escape_string($t); //prevent sql injection 
    $c = mysql_real_escape_string($c); 

    $sql = "SELECT column_comment,column_name FROM information_schema.columns 
     WHERE table_name = '$t' AND column_name LIKE '$c'"; 
    $query = mysql_query($sql,$d) or die(mysql_error()); 
    $columnArray = array(); 

    while($result = mysql_fetch_array($query)){ 


     $columnArray[] = array('column_comment' => $result['column_comment'], 'column_name' => $result['column_name']); 

    } 

    return $columnArray; 
} 

$columnArray[0]['column_name']將返回柱數組的第一個元素的名稱$ columnArray

+0

看起來不錯,稍後我會測試它。我如何通過指定特定的字段標題來返回column_comment。那麼echo $ columnArray('RecID')輸出「記錄的ID」? – pedromillers

+0

會有多個查詢結果嗎? – AustinAllover

+0

我期待你給出的代碼給我一個多個結果數組 – pedromillers