Dosyadaki Sorguları Satır Satır Çalıştır - PHP


Tam veya dinamik dosya yolu verilen bir dosyadaki alt alta listelenmiş SQL sorgularını döngü aracılığıyla satır satır çalıştıran PHP kodudur.

Kod


<?php
	//--------------------------------------------- 
	//MySQL veri tabanı bağlantısı oluştur.
	//---------------------------------------------
	$sunucu    = "localhost";
	$kullanici = "root";
	$parola    = "";
	$db        = "test";

	ini_set('max_execution_time', 0);

	try {
		$db = new PDO("mysql:host=" . $sunucu . ";" .
					  "dbname=" . $db, 
					  $kullanici, 
					  $parola);
	} catch ( PDOException $e ){
		 print $e->getMessage();
	}
	$db->query("SET CHARACTER SET utf-8");
	
	$dosya_yolu = 'sorgu.sql';	

	//---------------------------------------------
	//Dosyayı aç.
	//---------------------------------------------
	$dosya = fopen($dosya_yolu, "r");
	
	//---------------------------------------------
	//Dosya açılsın, bu yüzden 0.5 saniye 
	//bekle, hemen alt satıra geçme.
	//---------------------------------------------
	sleep(0.5);
	
	//---------------------------------------------
	//Dosya içeriğini oku.
	//---------------------------------------------
	$sql_icerik = fread($dosya, filesize($dosya_yolu));
	
	//---------------------------------------------
	//Dosyadan satır satır veri çekmek 
	//için yeni nesne oluşturduk.
	//Çünkü her satırda bir sorgu var.
	//---------------------------------------------
	$ds = new SplFileObject($dosya_yolu);
	
	try {
		
		//---------------------------------------------
		//Satırlar bitene kadar çalışsın.
		//---------------------------------------------
		while (!$ds->eof()) {

			//---------------------------------------------
			//$veri_ekle değişkenini her satırdaki sorgu için
			//prepare() edip çalıştıracağız, böylece veri eklenecek.
			//---------------------------------------------
			$veri_ekle = $db->prepare($ds->fgets());
			$veri_ekle->execute();
		}
		
		//---------------------------------------------
		//Satırlar bittiğinde aşağıdaki nesneleri
		//sıfırlıyoruz, böylece yeni dosya için
		//hazırlamış oluyoruz.
		//---------------------------------------------
		$ds    = null;
		$dosya = null;
	} catch ( PDOException $e ){
		 print $e->getMessage();
	}
?>

İndirme Bağlantısı

Konu ile ilgili örnek dosyayı bu bağlantıdan indirebilirsiniz.

İndir

Etiketler
php php dosya işlemleri php veri tabanı işlemleri php döngü işlemleri açıklamalı içerik