2016-05-30 115 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"; 
}