Как получить общее количество вставленных строк из таблицы после запроса массовой вставки MySQL

Я использую массовый запрос вставки с использованием php для вставки в таблицу MySQL. Здесь я хочу узнать общее количество вставленных записей из этого запроса массовой вставки. После завершения массовой вставки я использую код ниже, чтобы получить общее количество вставленных.

//here bulk insert complete.Next i am calling this
$row_cnt = mysql_query("SELECT ROW_COUNT()");
echo "Affected:rows:".$inbound_cnt = mysql_num_rows($row_cnt);

Здесь я получаю Затронутый: строки: 1. И я хочу последний идентификатор вставки также из этой массовой вставки.

echo "current_id:". $current_id = mysql_insert_id();
I am getting '0' ;

Как я могу найти общее количество вставленных? Любая помощь будет принята с благодарностью.

// my insert query
$data4 = "";
$inbound_csv_cnt = count($csv_array);
for($i=0;$i<$inbound_csv_cnt;$i++)
{
$data4.="('".$csv_array[$i][0]."','".$csv_array[$i][1]."','".$csv_array[$i][2]."'),";
}
$data4 = substr($data4,0,-1);
$ins_sql = "INSERT INTO whv_inbound_response(`whv_id`, `rqv_id`, `whv_type`) values $data4" ;
$res = mysql_query($ins_sql);

1

Решение

Ты можешь получить total records перед вставкой с этим

 SELECT COUNT(id) FROM table_name; // save output in $old

Затем вставьте свои данные и снова посчитайте общее количество записей как $new

Теперь найди разницу

$total_inserted_record = $new-$old;
0

Другие решения

При использовании цикла вы также можете установить счетчик для подсчета количества строк, даже до вставки. Кроме того, чтобы получить последний идентификатор вставки, для процедурного mysqli вы можете использовать

$last_id = mysqli_insert_id($conn_string);

У вас уже есть количество записей, вставляемых в $ inbound_csv_cnt

0