【问题标题】:INSERT IGNORE INTO - Number of rows inserted [duplicate]INSERT IGNORE INTO - 插入的行数 [重复]
【发布时间】:2014-02-01 17:06:12
【问题描述】:

我将使用一个查询在表中插入大约 500 条记录:

$sql = "INSERT IGNORE INTO `table_name` (`field1`,`field2`)
        VALUES ('val1','val2') ('val3','val4') ... ";
// php_mysql_insert_function

执行查询后如何知道插入了多少行?

【问题讨论】:

标签: php mysql


【解决方案1】:

答案是affected_rows

$db = new mysqli('127.0.0.1','...','...','...');
$sql = "INSERT IGNORE INTO Test (id,test) VALUES (1,2),(1,3),(2,2),(3,4)";
$ins_test = $db->prepare($sql);
$ins_test->execute();
echo $db->affected_rows;

在本例中,Test 有 2 列 id 和 test(均为整数),id 是主键。在此插入之前该表为空。

程序回显 3.

【讨论】:

    【解决方案2】:

    试试这个:

    编码的程序风格:

    <?php
    $host = ''; 
    $user = '';
    $password = '';
    $database = '';
    
    
    $link = mysqli_connect($host, $user, $password, $database);
    
    if(!$link)
    {
        echo('Unable to connect to the database!');
    }
            ELSE {
               $sql = "INSERT IGNORE INTO `table_name` (`field1`,`field2`) VALUES ('val1','val2'), ('val3','val4')"; 
               $result = mysqli_query($link, $sql);
                        echo mysqli_affected_rows($link);
                    }
    
            mysqli_close($link);
    ?>
    

    mysqli_affected_rows 计算插入次数。我认为@wikunia 的回答可能会产生相同的结果。在维基尼亚击败我之前,我正在回答你的问题。反正我是放的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2018-11-13
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      相关资源
      最近更新 更多