2012-04-14 91 views
0

此問題以前可能已被詢問,但方式不同。我試圖檢查一個MySQL表中的所有字段是否爲空。檢查表格中的所有字段是否爲空

有一個ID字段被設置爲主鍵並且有一個autoindex,所以它有一個值,但其餘列默認爲空。

這是我到目前爲止有:

public function check_empty_table() { 
    $sql = "SELECT * FROM products"; 

    $fields = array(); 

    if ($stmt = $this->connect->prepare($sql)) { 
     $stmt->execute(); 
     while ($stmt->fetch()) { 


     } 
    } 

} 

我還需要補充的嗎?無論我如何抓取或如何操作,我只想將所有數據放入該數組中,然後檢查數組是否爲空。

+0

什麼數據庫驅動程序是您使用?庫MySQLi? PDO? – 2012-04-14 15:08:21

+0

@Truth - mysqli – Roland 2012-04-14 15:10:35

+2

by empty你的意思是整個表是空的,或者這些行包含空的數據。並通過行中的空數據,你的意思是空,或空字符串? – 2012-04-14 15:10:47

回答

1

有關COUNT()的很酷的事情是它不計數NULL值。

所以,如果你這樣做比ID列以外的每個列,你會得到每一個零,那麼它的「空白」:

SELECT COUNT(COL1), COUNT(COL2) FROM products 
+0

您能否以我試圖做的方式向我展示一個示例,因爲現在我正在努力解決其他一些問題,當我填充表格時,我會得到重複條目。 – Roland 2012-04-14 16:01:48

+0

對不起,我今天不能寫你的代碼。我碰巧在寫我自己的代碼。 – 2012-04-14 16:07:34

+0

沒有PR :)我會繼續嘗試然後:) – Roland 2012-04-14 16:11:23

2

如果你想檢查表是空的,你可以使用

SELECT COUNT(*) FROM table; 

它應該返回0,如果沒有什麼裏面。

+0

我忘了提及有一個ID字段被設置爲主鍵並且有一個autoindex,所以它有一個值,但是其餘列默認爲空。 – Roland 2012-04-14 15:29:38