2016-09-13 28 views
1

我正在使用PHP插入到mysql表中使用批量插入查詢。在這裏我想知道從這個批量插入查詢中插入的總記錄。批量插入完成後,我使用下面的代碼來獲得總插入計數。如何在批量插入查詢後從表中獲取總插入行數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); 

在這裏我得到的影響:rows:1.And我希望最後插入ID也從這個批量插入。

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); 
+0

_i想最後插入的ID也從該散裝insert._在哪裏INSERT語句? –

+0

您可以在您的問題中添加批量插入功能嗎?只是想看看你是如何做到這一點,以便用戶給出的答案將更接近你所期望的... –

+0

增加了批量插入查詢 – user3408779

回答

0

您可以將之前獲得total records

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

然後插入您的數據,並再次現在算總記錄爲$new

現在找到差異

$total_inserted_record = $new-$old; 
0

雖然使用循環,你也可以設置一個計數器來計數th e行數,甚至在插入之前。此外,爲了獲得最後插入的ID,用於mysqli的程序你可以使用

$last_id = mysqli_insert_id($conn_string); 

你已經擁有的記錄數爲插入$ inbound_csv_cnt