mysql_affected_rows
得到 MySQL 最后操作影响的列数目。语法: int mysql_affected_rows(int [link_identifier]);返回值: 整数函数种类: 数据库功能
 
 
内容说明 
本函数可得到 MySQL 最后查询操作 INSERT、UPDATE 或 DELETE 所影响的列 (row) 数目。若最后的查询 (query) 是使用 DELETE 而且没有使用 WHERE 命令,则会删除全部资料,本函数将返回 0。若最后使用的是 SELECT,则用本函数不会得到预期的数目,因为要改变 MySQL 数据库本函数才有效,欲得到 SELECT 返回的数目需使用 mysql_num_rows() 函数。

解决方案 »

  1.   

    "非(API里的mysql_affected_rows()) "呵呵。偏偏就是这个。
      

  2.   

    谢谢楼上的,不过我的意思可能被误解了.我想问的不是在C API函数,而是放在SQL语句里面的,类似MSSQL的@@rowcount的东西.
      

  3.   

    从MySQL中,很多都变成了函数
    例如 楼主说的mssql里的 @@Rowcount 在MySQL中就变成了ROW_COUNT()
    事先。select ROW_COUNT();即可,实现的就是 mssql 的 @@Rowcount 功能
      

  4.   

    ROW_COUNT() 
    ROW_COUNT()返回被前面语句升级的、插入的或删除的行数。 这个行数和 mysql 客户端显示的行数及 mysql_affected_rows() C API 函数返回的值相同。mysql> INSERT INTO t VALUES(1),(2),(3);问询完成, 表中有3 行 (0.00秒)记录: 3 重复: 0 警告: 0 mysql> SELECT ROW_COUNT();+-------------+| ROW_COUNT() |+-------------+|           3 |+-------------+表中有1行 (0.00 秒) mysql> DELETE FROM t WHERE i IN(1,2);问询完成, 找到2 行 (0.00 秒) mysql> SELECT ROW_COUNT();+-------------+| ROW_COUNT() |+-------------+|           2 |+-------------+表中有1行 (0.00 秒)
      

  5.   

    谢谢whalefish2001(whale),可是我select row_count()的时候出现
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()' at line 1 是我的MySQL里面缺点什么么?
      

  6.   

    “受到影响的行”
    之前必须有其他 sql 语句 (查询、更改)才可以用 select row_count();
      

  7.   

    谢谢whalefish2001(whale),可是我select,insert,update都用过了,还是select row_count()不了啊.
    是版本问题?
      

  8.   

    ROW_COUNT() was added in MySQL 5.0.1. 
    哎,低版本手头还真没资料找解决的办法呢.
      

  9.   

    用adodb类就可以实现这样的功能哦!