på din while-løkke skal du kun bygge forespørgselsstreng, og udføre sætningen uden for løkken. Så noget som dette burde virke (ikke sikker på syntaks, da det er længe siden, jeg har skrevet php, men det burde virke:
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);
}