2015-11-24 32 views
1

我想檢查我的表是空的我試過這個「至極我認爲這是解決」檢查,如果我的表是空

$test_empty="SELECT *FROM objectif where 1 "; 
if(empty($test_empty)) 
{ 
    echo "I m here"; 
} 

但似乎這是行不通的。 感謝您的幫助

+0

我不認爲'空()'會這樣的工作,看到[規格](HTTP:// PHP。淨/手動/ EN/function.empty.php)。您需要[打開連接](http://php.net/manual/en/function.mysql-connect.php)到您的數據庫,運行查詢捕獲結果並關閉連接。你可能想要返回你可以檢查== 0的計數。'SELECT COUNT(*)FROM objectif'。 –

回答

0

取決於你如何連接到你的數據庫(例如,使用的mysqli):

$db = new mysqli("localhost","username","password","dbname"); 

$check = $db->query("SELECT COUNT(*) FROM objectif"); 

if ($check->num_rows == 0 || $check->fetch_field() == 0){ 
    echo "table is empty"; 
}else{ 
    echo "table is not empty"; 
} 

目前,你的代碼是不實際連接到數據庫或查詢表 - 你基本上只是檢查變量$查詢是否爲空(它永遠不會,因爲它包含一個字符串!

運行一個查詢來獲取記錄的數量,並根據上面的代碼檢查是一種方法做到這一點。

+1

良好的代碼示例,但要儘量提供更多的細節,所以OP可以學習 – davejal

+0

好一點,添加了一些explination –

0

使用此

$mysqli = new mysqli("localhost","root","","db"); 

if ($result = $mysqli->query("SELECT * FROM `table` LIMIT 1")) 
{ 

    if ($obj = $result->fetch_object()) 
    { 

     echo "NOT EMPTY"; 

    } 
    else 
    { 

     echo "empty"; 

    } 


    $result->close(); 

} 
$mysqli->close(); 
+0

良好的代碼示例,但要儘量提供更多的細節,所以OP可以學習 – davejal

-1

請嘗試以下代碼:

$test_empty="SELECT * FROM objectif"; 
$query = mysql_query($test_empty); 
if(mysql_affected_rows() > 0) 
{ 
    echo "It is Empty"; 
} 
+0

良好的代碼示例,但嘗試提供更多詳細信息,因此OP可以學習 – davejal

+1

請不要使用mysql_ *函數,因爲這些函數已被棄用。請改用mysqli或PDO。 –