PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; $pdomysql = new PDO($dsn, $user, $pass, $opt); // Connect to SQLite database in file $file_db = new PDO('sqlite:frp.sqlite'); $file_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = 'SELECT * from frp_teamdata'; $stmt = $file_db->prepare($sql); $stmt->execute(); $sqliteresults = $stmt->fetch(PDO::FETCH_ASSOC); //Prepare the statement only once! $stmtmysql = $pdomysql ->prepare("INSERT INTO frp_teamdata (name, value) VALUES (:name, :value)"); //Bind the params only once -- I assume the keys and values are strings $stmtmysql->bindParam(':name', $key, PDO::PARAM_STR); $stmtmysql->bindParam(':value', $value, PDO::PARAM_STR); foreach($sqliteresults as $results){ foreach($results as $key => $value){ $stmtmysql->execute(); } } } catch (PDOException $e) { print 'Exception : ' . $e->getMessage(); }