2016-05-30 56 views
-3
if (isset($_GET["val"])) { 
    $val = $_GET["val"]; 
    $sql1 = "select count(*) as count from staff_log l where l.time_in is null and l.time_out is not null and l.date_today = curdate() and l.staff_id = ".$val.";"; 

    $result1 = mysql_num_rows($sql1); 
} 
+1

避免使用'mysql_ *'擴展名。爲此,「mysql_query」在哪裏? – Thamilan

+0

首先比'mysql_num_rows'做'query'。 –

+0

是否使用'mysql_query()' –

回答

2

加入這一行...

$result = mysql_query($sql1); 
$result1 = mysql_num_rows($result); 

必須在mysql_query()功能定義查詢;

+0

使用mysqli_ *做解決方案並添加一些警告消息,以免使用'mysql_ *'.... –

+0

yeap ... mysql_ *現在已被棄用。 – JohnB

0

mysql_num_rows()返回,如在PHP manual所示:

行中一個結果集上或FALSE的成功失敗的次數。

這意味着執行它時出錯,這顯然是因爲您沒有運行任何查詢(mysql_query())。

注意,PHP手冊也有在頁面的頂部以下警告:

這個擴展被廢棄在PHP 5.5.0,它是PHP 7.0.0中刪除。相反,應該使用MySQLi或PDO_MySQL擴展。

0

首先執行查詢,然後NUM_ROWS

原來的MySQL擴展現在已經過時,並連接到數據庫時,會產生E_DEPRECATED錯誤。而是使用MYSQLi或PDO_MySQL擴展。

試試這個

if (isset($_GET["val"])) 
{ 
$val = $_GET["val"]; 
$sql1 = "select count(*) as count from staff_log l where l.time_in is null and l.time_out is not null and l.date_today = curdate() and l.staff_id = ".$val.";"; 

$result = mysql_query($sql1); 
$count = mysql_num_rows($result); 

} 
0

你幾乎權利,請查看下面的代碼。您需要使用mysql_query()mysql_query()用於執行默認數據庫的查詢。

if (isset($_GET["val"])) 
{ 
    $val = $_GET["val"]; 
    $sql1 = "select count(*) as count from staff_log l where l.time_in is null and l.time_out is not null and l.date_today = curdate() and l.staff_id ='$val'"; 
    $sql2 = mysql_query($sql1); // Execute the query first 
    $result1 = mysql_num_rows($sql2); // Get the number of rows from executed query result. 
    echo "The count is $result1"; 
}