PHP 7.4 ile veritabanı işlemleri nasıl yapılır? (MySQLi, PDO, ORM)

Veritabanı Bağlantısı

PHP’de veritabanı işlemleri gerçekleştirmek için öncelikle veritabanına bağlanmak gerekmektedir. MySQL ile bağlanmak için genellikle MySQLi ve PDO (PHP Data Objects) kullanılır. MySQLi, MySQL veritabanlarıyla çalışan yerleşik bir PHP uzantısıdır, PDO ise farklı veritabanı yönetim sistemleriyle etkileşim sağlayan bir arayüz sunar.

MySQLi kullanarak veritabanı bağlantısı aşağıdaki gibi gerçekleştirilebilir:

“`php
$servername = “localhost”;
$username = “kullanici_adi”;
$password = “sifre”;
$dbname = “veritabani_adi”;

// Bağlantıyı oluştur
$conn = new mysqli($servername, $username, $password, $dbname);

// Bağlantıyı kontrol et
if ($conn->connect_error) {
die(“Bağlantı başarısız: ” . $conn->connect_error);
}
echo “Bağlantı başarılı”;
“`

PDO ile veritabanı bağlantısı yapmak ise şu şekildedir:

“`php
$dsn = “mysql:host=localhost;dbname=veritabani_adi;charset=utf8mb4”;
$username = “kullanici_adi”;
$password = “sifre”;

try {
$pdo = new PDO($dsn, $username, $password);
// Hata ayıklama modunu etkinleştirme
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo “Bağlantı başarılı”;
} catch (PDOException $e) {
echo “Bağlantı başarısız: ” . $e->getMessage();
}
“`

Sorgu İşlemleri

Veritabanı ile etkileşimde bulunmak için SQL sorguları yazmak gereklidir. MySQLi ve PDO ile veri ekleme, güncelleme, silme ve sorgulama işlemleri aşağıdaki gibi yapılabilir.

MySQLi ile bir veri ekleme işlemi şu şekildedir:

“`php
$sql = “INSERT INTO kullanicilar (ad, soyad) VALUES (‘Ahmet’, ‘Yılmaz’)”;
if ($conn->query($sql) === TRUE) {
echo “Yeni kayıt başarıyla eklendi”;
} else {
echo “Hata: ” . $sql . “
” . $conn->error;
}
“`

PDO ile veri eklemek için ise:

“`php
$sql = “INSERT INTO kullanicilar (ad, soyad) VALUES (:ad, :soyad)”;
$stmt = $pdo->prepare($sql);
$stmt->execute([‘ad’ => ‘Ahmet’, ‘soyad’ => ‘Yılmaz’]);
echo “Yeni kayıt başarıyla eklendi”;
“`

Veri sorgulama işlemleri de benzer şekilde gerçekleştirilir. MySQLi ile veri sorgulama:

“`php
$sql = “SELECT FROM kullanicilar”;
$result = $conn->query($sql);

if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo “Ad: ” . $row[“ad”]. ” – Soyad: ” . $row[“soyad”]. “
“;
}
} else {
echo “Sonuç bulunamadı”;
}
“`

PDO ile veri sorgulama işlemi:

“`php
$sql = “SELECT FROM kullanicilar”;
$stmt = $pdo->query($sql);

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo “Ad: ” . $row[“ad”] . ” – Soyad: ” . $row[“soyad”] . “
“;
}
“`

Veritabanı Güvenliği

Veritabanı işlemlerinde güvenlik önemli bir konudur. SQL enjeksiyon saldırılarına karşı korunmak için kullanıcı verileri doğrudan sorguya eklenmemelidir. MySQLi ve PDO, hazırlanmış ifadeler kullanarak bu tür saldırıların önüne geçebilir.

MySQLi ile hazırlanmış ifadeler aşağıdaki gibi kullanılanabilir:

“`php
$stmt = $conn->prepare(“INSERT INTO kullanicilar (ad, soyad) VALUES (?, ?)”);
$stmt->bind_param(“ss”, $ad, $soyad);

$ad = ‘Ahmet’;
$soyad = ‘Yılmaz’;
$stmt->execute();
“`

PDO ile hazırlanmış ifadeler:

“`php
$stmt = $pdo->prepare(“INSERT INTO kullanicilar (ad, soyad) VALUES (:ad, :soyad)”);
$stmt->execute([‘ad’ => ‘Ahmet’, ‘soyad’ => ‘Yılmaz’]);
“`

ORM Kullanımı

ORM (Object-Relational Mapping), veritabanı işlemlerini nesne yönelimli bir şekilde yönetmeye yarayan bir yöntemdir. PHP’de en sık kullanılan ORM kütüphanelerinden biri Eloquent ORM’dir. Eloquent, Laravel framework’ü ile birlikte gelir fakat bağımsız olarak da kullanılabilir. Aşağıda Eloquent kullanarak basit bir örnek verilmiştir.

“`php
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
‘driver’ => ‘mysql’,
‘host’ => ‘localhost’,
‘database’ => ‘veritabani_adi’,
‘username’ => ‘kullanici_adi’,
‘password’ => ‘sifre’,
‘charset’ => ‘utf8mb4’,
‘collation’ => ‘utf8mb4_unicode_ci’,
‘prefix’ => ”,
]);

$capsule->setAsGlobal();
$capsule->bootEloquent();

// Kullanıcı modelini oluştur ve veri ekle
$user = new User();
$user->ad = ‘Ahmet’;
$user->soyad = ‘Yılmaz’;
$user->save();

// Veri sorgulama
$users = User::all();
foreach ($users as $user) {
echo $user->ad . ‘ ‘ . $user->soyad;
}
“`

PHP 7.4 ile veritabanı işlemleri, MySQLi, PDO ve ORM gibi birçok yöntem ve araçla çeşitli şekillerde gerçekleştirilebilir. Her bir yöntem kendine özgü avantajlar sunar ve ihtiyaçlara göre en uygun olanının seçilmesi önemlidir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR