簡體   English   中英

計算mysql表中的列數不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM