mysql_num_rows始终返回1
问题描述:
似乎num_rows变量是1,不管是什么... 我是否正确使用此功能?mysql_num_rows始终返回1
//get the oldest review date still open
$check_sql = "SELECT max(review_date) as max_date"
. " from employee_reviews"
. " WHERE review_status = '0' and emp_no = '" . [v_emp_no] . "'";
// run query against database
$oldest_review_open = mysql_query("$check_sql");
// retrieve a count of the rows in the previous query
$num_rows = mysql_num_rows($oldest_review_open);
echo $num_rows;
挠头....
在此先感谢
答
您使用的是积累功能,这个功能是无论多少行怎么算只返回一行。
你可以检查一遍:
$check_sql = "SELECT review_date"
. " from employee_reviews"
. " WHERE review_status = '0' and emp_no = '" . [v_emp_no] . "'";
+0
没有我目前只影响一个单一的员工..但在表中只有1名员工的记录,当我输入另一名员工仍然是返回num_rows = 1 –
+0
这是因为当您使用MAX时,即使表格中有多行,也总是会返回一行。 mysql_num_rows返回查询中行数为1的情况。 –
什么是你想找回?您要求从表格中获取最新的审核日期,因此只会返回一行。 – andrewsi
'mysql _ *()'不推荐使用,SQL注入,yada,yada ... – AbraCadaver
每个人的'max'都是唯一的,每个人都有1个最大值,这就是你要求的mysql,这就是它让你回来。也许你想''GROUP_ emp_no'在'和emp_no = ...'的地方# – CodeBird