我要更新很多数据库行,我想知道我已经更新了多少行。
示例:如果我的数据库包含以下4行
INSERT INTO `drink` VALUES (1, 'Non-Alcoholic', 'tea');
INSERT INTO `drink` VALUES (2, 'Non-Alcoholic', 'tea');
INSERT INTO `drink` VALUES (3, 'Non-Alcoholic', 'coffee');
INSERT INTO `drink` VALUES (4, 'Non-Alcoholic', 'pepsi');
我将使用以下
进行更新$sql= "update drink set cat='tea' WHERE cat= 'Non-Alcoholic' AND subcat = 'tea'";
很明显,它只会更新2行
INSERT INTO `drink` VALUES (1, 'tea', 'tea');
INSERT INTO `drink` VALUES (2, 'tea', 'tea');
INSERT INTO `drink` VALUES (3,'Non-Alcoholic', 'coffee');
INSERT INTO `drink` VALUES (4,'Non-Alcoholic', 'pepsi');
现在我的问题是我怎么知道它已更新了多少行,我希望它显示为消息或其他什么,但我必须知道它。
所以任何想法或如何做到这一点 谢谢你的帮助
答案 0 :(得分:2)
您可以使用php函数mysql_affected_rows()
或mysqli_affected_rows()
或者使用sql语句跟进update语句。
SELECT row_count() as affected_rows
Mysql:http://www.php.net/manual/en/function.mysql-affected-rows.php
Mysqli:http://php.net/manual/en/mysqli.affected-rows.php
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html
答案 1 :(得分:2)
mysql_affected_rows
:获取之前MySQL操作中受影响的行数:
...
$updated_count = mysql_affected_rows();
...
在查询后放置上述语句以计算受影响的行。
答案 2 :(得分:2)
答案 3 :(得分:1)
使用mysql_affected_rows
http://php.net/manual/ro/function.mysql-affected-rows.php
答案 4 :(得分:1)
您可以使用PHP:mysql_affected_rows()或C:mysql_info()
答案 5 :(得分:-1)
此代码将计算MySQL数据库表中的行数(条目/记录),然后使用屏幕上的echo显示它
<?php
// Connect to the database
db_connect();
// Query the database and get the count
$result = mysql_query("SELECT * FROM drink");
$num_rows = mysql_affected_rows($result);
// Display the results
echo $num_rows;
?>