获取mysql表中的字段数

时间:2013-02-06 11:22:27

标签: php mysql sql

如何使用PHP或只是某种mysql查询获取mysql表中的字段数(сolumns)?有没有办法在没有SELECT * FROM table_namemysql_num_fields()的情况下执行此操作?也许有一种方法可以使用一个mysql查询?

5 个答案:

答案 0 :(得分:7)

SELECT COUNT(*) totalColumns
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  table_name = 'table1' AND 
       TABLE_SCHEMA = 'databaseName'

答案 1 :(得分:5)

使用以下查询获取表格中的字段

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'database_name'
  AND table_name = 'tbl_name'

答案 2 :(得分:0)

@ user1858864以上所有答案都很好,但我只是想用pdo在php中给你。 我把你的问题和答案都投了票,因为一切似乎都与我有关 非常感谢@JW。用于编辑

<?php
try {
$con = new PDO('mysql:host=localhost;dbname=mydb;charset=utf-8','root','');
} catch(PDOException $e){
echo 'Connection failed'.$e->getMessage();
}
#count in pdo 
$count = ("SELECT count(*) FROM  table_name ");
$result =$con->prepare($count);
$result->execute();
$number= $result->fetchColumn();
echo  $number;
#count in pdo  
?>

答案 3 :(得分:0)

        $query = "select book_name from tbllibrary "; $result = mysql_query($query);
            //while loop to display mysql table field values in html text boxes

            $i = 0;
            while ($row = mysql_fetch_row($result))
                {
                    $count = count($row);
                    $y = 0;
                    while ($y < $count)
                    {
                        $c_row = current($row);
                        next($row);
                        $y = $y + 1;
                    }               
                        $book_name=$c_row;$i = $i + 1;
                    }

echo 'There are ' . $i. ' books available in the Library</p>';

此处变量i将存储名为book_name的行的总列数。您还可以使用变量$ book name以供将来使用,但它不是必需的。

答案 4 :(得分:-2)

您可以使用以下查询

SELECT count(*) FROM table_name