mysql_num_rows 与 mysql_affected_rows 函数

mysql_num_rows() 函数返回结果集中行的数目。

语法
mysql_num_rows(data)参数 描述
data 必需。结果集。该结果集从 mysql_query() 的调用中得到。

说明
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。

使用注意:

一定是查询 SELECT 后再下一次查询 SELECT 之前使用该函数

==============================================================================================

mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。

语法
mysql_affected_rows(link_identifier)
link_identifier :
取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
使用注意:
一定是查询INSERT,UPDATE 或 DELETE 后再下一次查询INSERT,UPDATE 或 DELETE 之前使用该函数

为什么使用这两个函数原因:

mysql_query() 查询并不会判断数据是否存在 , 它只负责mysql语句是否执行成功
select mysql_query();
如果查询的 id 在数据库不存在,它一样会返回资源型,但是里面返回的值却为空。
INSERT,UPDATE 或 DELETE mysql_query();
也一样的道理 ,delete不存在的id,一样语句执行成功。所以要用mysql_affected_rows判断实际影响的行数,这样才能真正判断数据是否存在且改变!

你可能感兴趣的:(编程问题,mysql)