[英]Counting the number of columns in a mysql table not working
我一直在論壇上尋找一種方法來計算mysql表中的列數。
我以為我找到了答案,但它似乎沒有起作用。 我的查詢的片段如下:
$count = queryMysql("SELECT count(*) FROM information_schema.columns WHERE table_schema='" . $dbname . "' AND table_name='" . $table . "'");
$dname
包含我的數據庫的名稱, $table
作為參數傳遞給我的函數,並且是表的名稱。
當我echo $count
,簡單的打印Resource id#5
標准mysql庫的query()
函數返回結果HANDLE,即使查詢只返回單個字段和/或行。 您需要從該句柄中獲取一行,例如
$result = mysqli_query("SELECT ...");
$row = mysqli_fetch_assoc($result);
echo $row['count'];
在這段代碼中,如果你確實echo $row
,你將獲得Resource id#xxx
輸出,因為它不是被選中的值 - 它是你可以從中獲取該值的結果句柄。
執行查詢后,您需要獲取從它返回的數據。 請看一下這個例子:
$query = "SELECT count(*) FROM information_schema.columns WHERE table_schema='" . $dbname . "' AND table_name='" . $table . "'";
$res = mysql_query($query);
$row = mysql_fetch_assoc($res);
假設您有一個自定義函數queryMysql(),它不處理計數權限的輸出,請將其更改為:
$count = queryMysql("SELECT count(*) AS columnCount
FROM information_schema.columns
WHERE table_schema='" . $dbname . "'
AND table_name='" . $table . "'");
請注意我如何選擇它as columnCount
以便正確命名。
嘗試這個:
$count = mysql_query("SELECT count(*) FROM information_schema.columns WHERE table_schema='" . $dbname . "' AND table_name='" . $table . "'");
$nums = mysql_num_rows($count);
for($i=0; $i < $nums; $i++;){
$result = mysql_result($count,$i,"count");
echo $table." : ".$result;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.