PHP Veri Tabanı İşlemleri

Konu sahibi son olarak 63 gün önce görüldü
Genel olarak konulara göz attım. Birkaç kişi veritabanı bağlantısı ile ilgili bilgi vermiş. Teknolojinin gelişmesi, kolay kod yazma, falan, filan diye düşünürken; günümüzde hala bunları kullanan var mı bilmiyorum. Zamanım oldukça çok detaylandırmadan, PHP için nesne yönelimli veri tabanı işlemlerini bu postun altında aktarmak istedim.

Eksik varsa ekleyebilir, yanlış varsa düzeltebilirsiniz. Tanrı değiliz, kusursuz olamıyoruz. Şekil şükül yapmanıza gerek yok. Baştan gardımı alam, sonra bu tür şeylerle uğraşmak istemiyorum. :d

Nesne Yönelimli MySQLi Bağlantı Oluşturma
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola= "1234";
$vtabani = "sistem";

// Bağlantı Oluşturma
$bag = new mysqli($host, $kullanici, $parola, $vtabani);

// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 
echo "Bağlantı başarılı.";
?>

PDO Bağlantı Oluşturma
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";
try {
    $bag= new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    // PDO hata modunu istisna olarak ayarla
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Bağlantı başarılı."; 
    }
catch(PDOException $e)
    {
    echo "Bağlantı Hatası: " . $e->getMessage();
    }
?>
 
Nesne Yönelimli MySQLi Veri Tabanı Oluşturma
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola = "1234";

// Bağlantı Oluşturma
$bag= new mysqli($host, $kullanici, $parola);
// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

// Veri Tabanı Oluşturma
$sql = "CREATE DATABASE sistem";
if ($bag->query($sql) === TRUE) {
    echo "Veri Tabanı Oluşturma Başarılı.";
} else {
    echo "Veri Tabanı Oluşturulamadı. Hata: " . $bag->error;
}

$bag->close();
?>

PDO Veri Tabanı Oluşturma

Kod:
<?php
$host= "localhost";
$kullanici= "root";
$parola= "1234";

try {
    $bag= new PDO("mysql:host=$host", $kullanici, $parola);
    // PDO hata modunu istisna olarak ayarla
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "CREATE DATABASE sistem";
    // Sonuç geri dönmediğinden exec() kullan
    $bag->exec($sql);
    echo "Veri Tabanı Oluşturma Başarılı.";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$bag= null;
?>
 
Nesne Yönelimli MySQLi Tablo Oluşturma
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

// Bağlantı Oluşturma
$bag= new mysqli($host, $kullanici, $parola, $vtabani);
// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

// Tablo Oluşturma
$sql = "CREATE TABLE uyeler(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
adi VARCHAR(30) NOT NULL,
soyadi VARCHAR(30) NOT NULL,
email VARCHAR(50),
kayit_tarihi TIMESTAMP
)";
if ($bag->query($sql) === TRUE) {
    echo "Tablo Oluşturma Başarılı.";
} else {
    echo "Tablo Oluşturulamadı. Hata: " . $bag->error;
}

$bag->close();
?>

PDO Tablo Oluşturma

Kod:
<?php
$host= "localhost";
$kullanici= "root";
$parola= "1234";
$vtabani = "sistem";

try {
    $bag= new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    // PDO hata modunu istisna olarak ayarla
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Tablo Oluşturma
    $sql = "CREATE TABLE uyeler(
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    adi VARCHAR(30) NOT NULL,
    soyadi VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    kayit_tarihi TIMESTAMP
    )";
    // Sonuç geri dönmediğinden exec() kullan
    $bag->exec($sql);
    echo "Tablo Oluşturma Başarılı.";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$bag= null;
?>
 
Nesne Yönelimli MySQLi Veri Ekleme
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

// Bağlantı Oluşturma
$bag= new mysqli($host, $kullanici, $parola, $vtabani);
// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

// Veri Ekleme
$sql = "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ali', 'Yılmaz', '[email protected]')";
if ($bag->query($sql) === TRUE) {
    echo "Veri Ekleme Başarılı.";
} else {
    echo "Veri Ekleme Başarısız. Hata: " . $bag->error;
}

$bag->close();
?>

PDO Veri Ekleme

Kod:
<?php
$host= "localhost";
$kullanici= "root";
$parola= "1234";
$vtabani = "sistem";

try {
    $bag= new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    // PDO hata modunu istisna olarak ayarla
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Veri EKleme
    $sql = "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ali', 'Yılmaz', '[email protected]')";
    // Sonuç geri dönmediğinden exec() kullan
    $bag->exec($sql);
    echo "Veri EKleme Başarılı.";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$bag= null;
?>
 
Nesne Yönelimli MySQLi Son Eklenen Verinin ID Bilgisi
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

// Bağlantı Oluşturma
$bag= new mysqli($host, $kullanici, $parola, $vtabani);
// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

// Veri Ekleme
$sql = "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ali', 'Yılmaz', '[email protected]')";
if ($bag->query($sql) === TRUE) {
	$son_id = $bag->insert_id;
    echo "Yeni Kayıt Başarılı. Son Eklenen ID: " . $son_id;
} else {
    echo "Veri Ekleme Başarısız. Hata: " . $bag->error;
}

$bag->close();
?>

PDO Son Eklenen Verinin ID Bilgisi

Kod:
<?php
$host= "localhost";
$kullanici= "root";
$parola= "1234";
$vtabani = "sistem";

try {
    $bag= new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    // PDO hata modunu istisna olarak ayarla
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Veri EKleme
    $sql = "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ali', 'Yılmaz', '[email protected]')";
    // Sonuç geri dönmediğinden exec() kullan
    $bag->exec($sql);
    $son_id = $bag->lastInsertId();
    echo "Yeni Kayıt Başarılı. Son Eklenen ID: " . $son_id;
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$bag= null;
?>
 
Nesne Yönelimli MySQLi Çoklu Sorgu Ekleme
Kod:
<?php
$host= "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

// Bağlantı Oluşturma
$bag= new mysqli($host, $kullanici, $parola, $vtabani);
// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

// Veri Ekleme
$sql = "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ali', 'Yılmaz', '[email protected]')";
$sql .= "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Veli', 'Yıldırım', '[email protected]')";
$sql .= "INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ayşe', 'Menekşe', '[email protected]')";
if ($bag->multi_query($sql) === TRUE) {
    echo "Yeni Kayıtlar Başarılı Bir Şekilde Eklendi.";
} else {
    echo "Veri Ekleme Başarısız. Hata: " . $bag->error;
}
$bag->close();
?>
PDO Çoklu Sorgu Ekleme
Kod:
<?php
$host= "localhost";
$kullanici= "root";
$parola= "1234";
$vtabani = "sistem";

try {
    $bag= new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    // PDO hata modunu istisna olarak ayarla
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Veri EKleme
    // Çoklu Sorguya Başla
    $bag->beginTransaction();
    // Çoklu Sorgular
    $bag->exec("INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ali', 'Yılmaz', '[email protected]')");
	$bag->exec("INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Veli', 'Yıldırım', '[email protected]')");
	$bag->exec("INSERT INTO uyeler(adi, soyadi, email)
VALUES ('Ayşe', 'Menekşe', '[email protected]')");
    // Sorguları Çalıştır
    $bag->commit();
    echo "Yeni Kayıtlar Başarılı Bir Şekilde Eklendi.";
    }
catch(PDOException $e)
    {
    //bir şey başarısız olursa işlemi geri al
    $bag->rollback();
    echo "Hata: " . $e->getMessage();
    }

$bag= null;
?>
 
Nesne Yönelimli MySQLi Dışarıdan Alınan Veriyi Bağlama
Kod:
<?php
$host = "localhost";
$kulanici = "root";
$parola = "1234";
$vtabani = "sistem";

// Bağlantı Oluşturma
$bag = new mysqli($host, $kulanici, $parola, $vtabani);

// Bağlantı Kontrolü
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
}

// Sorguları Hazırlama Ve Bağlama
$sorgu = $bag->prepare("INSERT INTO uyeler (adi, soyadi, email) VALUES (?, ?, ?)");
$sorgu->bind_param("sss", $adi, $soyadi, $email);

// Değerleri Belirle Ve Çalıştır
$adi = "Ali";
$soyadi = "Yılmaz";
$email = "[email protected]";
$sorgu->execute();

$adi = "Veli";
$soyadi = "Yıldırım";
$email = "[email protected]";
$sorgu->execute();

$adi = "Ayşe";
$soyadi = "Menekşe";
$email = "[email protected]";
$sorgu->execute();

echo "Yeni Kayıtlar Başarıyla Eklendi.";

$sorgu->close();
$bag->close();
?>
PDO Dışarıdan Alınan Veriyi Bağlama
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

try {
    $bag = new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    
    $sorgu = $bag->prepare("INSERT INTO uyeler (adi, soyadi, email) 
    VALUES (:adi, :soyadi, :email)");
    $sorgu->bindParam(':adi', $adi);
    $sorgu->bindParam(':soyadi', $soyadi);
    $sorgu->bindParam(':email', $email);

    $adi = "Ali";
    $soyadi = "Yılmaz";
    $email = "[email protected]";
    $sorgu->execute();

    $adi = "Veli";
    $soyadi = "Yıldırım";
    $email = "[email protected]";
    $sorgu->execute();

    $adi = "Ayşe";
    $soyadi = "Menekşe";
    $email = "[email protected]";
    $sorgu->execute();

    echo "Yeni Kayıtlar Başarıyla Eklendi.";
    }
catch(PDOException $e)
    {
    echo "Hata: " . $e->getMessage();
    }
$bag = null;
?>
 
Nesne Yönelimli MySQLi Veri Seçme/Listeleme
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";


$bag = new mysqli($host, $kullanici, $parola, $vtabani);
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

$sql = "SELECT id, adi, soyadi FROM uyeler";
$sonuc = $bag->query($sql);

if ($sonuc->num_rows > 0) {
    while($satir= $sonuc->fetch_assoc()) {
        echo "id: " . $satir["id"]. " - İsim: " . $satir["adi"]. " " . $satir["soyadi"]. "<br>";
    }
} else {
    echo "Sonuç yok.";
}
$bag->close();
?>
PDO Veri Seçme/Listeleme
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

try {
    $bag = new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sorgu = $bag->prepare("SELECT id, adi, soyadi FROM uyeler"); 
    $sorgu->execute();

    $sonuc = $sorgu->setFetchMode(PDO::FETCH_ASSOC); 
    foreach($sorgu->fetchAll() as $anahtar => $deger) { 
        print_r($deger);
    }
}
catch(PDOException $e) {
    echo "Hata: " . $e->getMessage();
}
$bag = null;
?>
 
Nesne Yönelimli MySQLi Veri Silme
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

$bag = new mysqli($host, $kullanici, $parola, $vtabani);
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

$sql = "DELETE FROM uyeler WHERE id=3";

if ($bag->query($sql) === TRUE) {
    echo "Kayıt Silme Başarılı.";
} else {
    echo "Kayıt Silme Başarısız. Hata: " . $bag->error;
}

$bag->close();
?>
PDO Veri Silme
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

try {
    $bag = new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "DELETE FROM uyeler WHERE id=3";

    $bag->exec($sql);
    echo "Kayıt Silme Başarılı.";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$bag = null;
?>
 
Nesne Yönelimli MySQLi Veri Güncelleme
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

$bag = new mysqli($host, $kullanici, $parola, $vtabani);
if ($bag->connect_error) {
    die("Bağlantı Hatası: " . $bag->connect_error);
} 

$sql = "UPDATE uyeler SET soyadi='Akman' WHERE id=2";

if ($bag->query($sql) === TRUE) {
    echo "Kayıt Güncelleme Başarılı.";
} else {
    echo "Kayıt Güncelleme Başarısız. Hata: " . $bag->error;
}

$bag->close();
?>
PDO Veri Güncelleme
Kod:
<?php
$host = "localhost";
$kullanici = "root";
$parola = "1234";
$vtabani = "sistem";

try {
    $bag = new PDO("mysql:host=$host;dbname=$vtabani", $kullanici, $parola);
    $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "UPDATE uyeler SET soyadi='Akman' WHERE id=2";

    $sorgu = $bag->prepare($sql);

    $sorgu->execute();

    echo $sorgu->rowCount() . " Kayıt güncellendi.";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$bag = null;
?>
 
Geri