2012-04-14 13 views
0

この質問は以前に聞かれたかもしれませんが、同じ方法ではありません。私は、mysqlテーブル内のすべてのフィールドが空であるかどうかをチェックしようとしています。テーブル内のすべてのフィールドが空であることを確認してください

プライマリキーとして設定され、自動インデックスを持つIDフィールドがあるため、値はありますが、残りのカラムはデフォルトでは空です。

これは私がこれまで持っているものです。

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? –

+0

@Truth - mysqli – Roland

+2

空白は、テーブル全体が空であるか、行に空のデータが含まれていることを意味します。行の空のデータによって、空の文字列、つまりnullが意味されますか? –

答えて

1

COUNT()についてのクールなことは、NULL値を数えないことです。あなたはID列以外の列ごとにこの操作を行うと、あなたはそれぞれのゼロを取得するのであれば、それは「ブランク」だ

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

私はそれをやろうとしている方法で私に例を示すことができますか?今は別の問題に苦しんでいるので、テーブルを作成するときに重複したエントリがあります。 – Roland

+0

今日はあなたのコードを書くことができません。私は自分のコードを書くことになります。 –

+0

いいえpr :)私はそれを試し続けます:) – Roland

2

あなたは何も内部がない場合には0を返すべき

SELECT COUNT(*) FROM table; 

を使用することができます。

+0

プライマリキーとして設定され、自動インデックスを持つIDフィールドがあることを忘れていました。残りの列はデフォルトでは空です。 – Roland

関連する問題