【问题标题】:How to know how many mysql lines updated [duplicate]如何知道更新了多少mysql行[重复]
【发布时间】:2011-10-13 14:39:16
【问题描述】:

我要更新很多数据库行,我想知道我更新了多少行。

示例:如果我的数据库包含以下 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');

现在我的问题是我如何知道它更新了多少行,我希望它显示为消息或其他任何内容,但我必须知道它。

所以任何想法或如何去做 谢谢你的帮助

【问题讨论】:

  • 你是如何在你的 php 中调用它的?
  • 请记住,在 mysql 中匹配的行数并不总是更新的行数。例如,在上面的更新语句中,如果您使用“... set cat='Non-Alcoholic' ...”,匹配的行数为 2,但受影响的行数为 0。

标签: php mysql


【解决方案1】:

mysql_affected_rows:获取之前 MySQL 操作中受影响的行数:

...
$updated_count = mysql_affected_rows();
...

将上述语句放在查询之后以计算受影响的行数。

【讨论】:

    【解决方案2】:

    您可以使用 php 函数 mysql_affected_rows()mysqli_affected_rows()

    或者用sql语句跟进更新语句。

    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

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        【讨论】:

          【解决方案5】:

          您可以使用 PHP:mysql_affected_rows() 或在 C 中:mysql_info()

          【讨论】:

            【解决方案6】:

            此代码将计算 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; 
            
            ?>
            

            【讨论】:

              猜你喜欢
              • 2015-05-13
              • 1970-01-01
              • 2010-11-17
              • 2011-08-12
              • 2011-03-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-11-06
              相关资源
              最近更新 更多