Я использую массовый запрос вставки с использованием 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);
Ты можешь получить total records
перед вставкой с этим
SELECT COUNT(id) FROM table_name; // save output in $old
Затем вставьте свои данные и снова посчитайте общее количество записей как $new
Теперь найди разницу
$total_inserted_record = $new-$old;
При использовании цикла вы также можете установить счетчик для подсчета количества строк, даже до вставки. Кроме того, чтобы получить последний идентификатор вставки, для процедурного mysqli вы можете использовать
$last_id = mysqli_insert_id($conn_string);
У вас уже есть количество записей, вставляемых в $ inbound_csv_cnt