INSERT IGNORE INTO - 插入的行数

时间:2014-02-01 17:06:13

标签: php mysql

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

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

如何在执行查询后找出haw插入多少行?

2 个答案:

答案 0 :(得分:4)

答案是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。

答案 1 :(得分:0)

试试这个:

程序式编码:

<?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_affeccted_rows计算插入次数。我认为@ wikunia的答案可能会产生相同的结果。在wikunia打败我之前,我正在回答你的问题。无论如何我放了它。