trên vòng lặp while của bạn chỉ xây dựng chuỗi truy vấn và thực hiện câu lệnh ngoài vòng lặp. Vì vậy, một cái gì đó như thế này sẽ hoạt động (không chắc chắn về cú pháp vì đã lâu rồi tôi đã viết php nhưng nó sẽ hoạt động:
public function initiateInserts()
{
//Open Large CSV File(min 100K rows) for parsing.
$this->fin = fopen($file,'r') or die('Cannot open file');
//Parsing Large CSV file to get data and initiate insertion into schema.
$query = "";
while (($data=fgetcsv($this->fin,5000,";"))!==FALSE)
{
$query = $query . "INSERT INTO dt_table (id, code, connectid, connectcode)
VALUES (" . $data[0] . ", " . $data[1] . ", " . $data[2] . ", " . $data[3] . ")";
}
$stmt = $this->prepare($query);
// Execute the statement
$stmt->execute();
$this->checkForErrors($stmt);
}