获得前一次MySQL操作所影响的记录行数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了获得前一次MySQL操作所影响的记录行数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3562字,纯文字阅读大概需要6分钟。
内容图文
取得前一次MySQL操作所影响的记录行数 本文转载自:?? http://blog.csdn.net/militala/article/details/5996510 ? ? mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT()
取得前一次MySQL操作所影响的记录行数本文转载自:?? http://blog.csdn.net/militala/article/details/5996510
mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT() : update delete insert.FOUND_ROWS() : select
ROW_COUNT()? : update delete insert.
MYSQL的函数中,SELECT是另外一个单独的函数 FOUND_ROWS() , UPDATE等是 ROW_COUNT()
如下案例:
- mysql>?INSERT?INTO?t?VALUES(1),(2),(3); ?
- Query?OK,?3?rows?affected?(0.00?sec) ?
- Records:?3??Duplicates:?0??Warnings:?0 ?
- ?
- mysql>?SELECT?ROW_COUNT(); ?
- +-------------+ ?
- |?ROW_COUNT()?| ?
- +-------------+ ?
- |???????????3?| ?
- +-------------+ ?
- 1?row?in?set?(0.00?sec) ?
- ?
mysql_affected_rows
(PHP 3, PHP 4 , PHP 5)
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数说明
int mysql_affected_rows ( [resource link_identifier])
mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果连接句柄没有指定, 则默认使用最近一次由 mysql_connect() 函数打开的连接句柄。
注: 如果你使用事务处理(transactions),你需要在 INSERT,UPDATE 或 DELETE 查询后调用 mysql_affected_rows() 函数,而不是在 commit 命令之后。
如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询, 在表中所有的记录都会被删除,但该函数返回值为 0。
注: 当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。 这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数。 只有真正被修改的记录数才会被返回。
mysql_affected_rows() 函数不适用于 SELECT 语句;只适用于能够修改记录的语句中。请使用 mysql_num_rows() 函数来获得 SELECT 所返回的记录行数。
如果最近一次查询失败的话,函数返回 -1。 例子 1. Delete 操作
- ????/*?连接数据库?*/?
- ????mysql_pconnect("localhost",?"mysql_user",?"mysql_password")?or?
- ?????????die?("Could?not?connect"?.?mysql_error()); ?
- ????mysql_select_db("mydb"); ?
- ?
- ????/*?这会返回有效的被删除记录数。?*/?
- ????mysql_query("DELETE?FROM?mytable?WHERE?id?10"); ?
- ????printf?("Records?deleted:?%d/n",?mysql_affected_rows()); ?
- ?
- ????/*?没有任何条件(where)的删除语句,返回?0?*/?
- ????mysql_query("DELETE?FROM?mytable"); ?
- ????printf?("Records?deleted:?%d/n",?mysql_affected_rows()); ?
- ?>?? ?
以上的例子会得出下面的运行结果:
Records deleted: 10Records deleted: 0
?
?
例子 2. Update 操作
- ????/*?连接数据库?*/?
- ????mysql_pconnect("localhost",?"mysql_user",?"mysql_password")?or?
- ?????????die?("Could?not?connect"?.?mysql_error()); ?
- ????mysql_select_db("mydb"); ?
- ?
- ????/*?Update?记录?*/?
- ????mysql_query("UPDATE?mytable?SET?used=1?WHERE?id?10"); ?
- ????printf?("Updated?records:?%d/n",?mysql_affected_rows()); ?
- ????mysql_query("COMMIT"); ?
- ?>?? ?
以上的例子会得出下面的运行结果:
Updated Records: 10
?
?
参见 mysql_num_rows() 和 mysql_info()。
mysql_affected_rows() 返回的是对行操作的个数
$query=mysql_query("select * from love_mp3_table ");
mysql_affected_rows();//其实对这个也有效,返回44,在这和mysql_num_rows($query)效果一样
$query=mysql_query("INSERT INTO table(id,title,hrefurl) VALUE('','节节胜利','http://')");
mysql_affected_rows();//返回1
$query=mysql_query("DELETE FROM tabel WHERE id=45");
mysql_affected_rows();//返回1
$query=mysql_query("UPDATE table SET title='我是' WHERE id=44");
mysql_affected_rows();//返回1
?
内容总结
以上是互联网集市为您收集整理的获得前一次MySQL操作所影响的记录行数全部内容,希望文章能够帮你解决获得前一次MySQL操作所影响的记录行数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。