Filtreyi Temizle

Aggregate Fonksiyonlar

MYSQL de Aggregate Fonksiyonlar

-- Toplam kayıt sayısı
SELECT COUNT(*) FROM ogrenciler;

-- Yaş ortalaması
SELECT AVG(yas) FROM ogrenciler;

-- En büyük yaş
SELECT MAX(yas) FROM ogrenciler;

-- En küçük yaş
SELECT MIN(yas) FROM ogrenciler;

-- Yaş toplamı
SELECT SUM(yas) FROM ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Arama ve Filtreleme

Php ile Arama ve Filtreleme

<?php
function kullaniciAra($pdo, $arama_terimi, $sayfa = 1, $sayfa_basina = 10) {
    try {
        $arama = "%$arama_terimi%";
        $offset = ($sayfa - 1) * $sayfa_basina;
        
        // Toplam sonuç sayısı
        $toplam_sql = "SELECT COUNT(*) FROM kullanicilar 
                       WHERE ad LIKE ? OR email LIKE ?";
        $toplam_stmt = $pdo->prepare($toplam_sql);
        $toplam_stmt->execute([$arama, $arama]);
        $toplam_kayit = $toplam_stmt->fetchColumn();
        $toplam_sayfa = ceil($toplam_kayit / $sayfa_basina);
        
        // Arama sonuçları
        $sql = "SELECT id, ad, email, kayit_tarihi FROM kullanicilar 
                WHERE ad LIKE ? OR email LIKE ?
                ORDER BY kayit_tarihi DESC LIMIT ? OFFSET ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$arama, $arama, $sayfa_basina, $offset]);
        $kullanicilar = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        return [
            'kullanicilar' => $kullanicilar,
            'toplam_sayfa' => $toplam_sayfa,
            'mevcut_sayfa' => $sayfa,
            'toplam_kayit' => $toplam_kayit,
            'arama_terimi' => $arama_terimi
        ];
    } catch(PDOException $e) {
        throw new Exception("Arama hatası: " . $e->getMessage());
    }
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Basit Dizi Kullanımı

Php de Basit Dizi Kullanımı

<?php
    $renkler = array("Kırmızı", "Mavi", "Yeşil", "Sarı");
    $sayilar = [10, 20, 30, 40, 50];

    echo "İlk renk: " . $renkler[0];
    echo "<br>Üçüncü sayı: " . $sayilar[2];
    echo "<br>Toplam renk sayısı: " . count($renkler);
?>

Çıktı:
İlk renk: Kırmızı
Üçüncü sayı: 30
Toplam renk sayısı: 4
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP Temelleri

Belirli Kayıt Silme

MYSQL de Tablodaki belirli bir kaydı silme

DELETE FROM ogrenciler WHERE id = 1;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Belirli Sütunları Getirme

MYSQL de Tablodaki Belirli Sütunları Getirme

SELECT ad, soyad, email FROM ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Bir Stringi Ters Çevirme

Verilen bir metni ters çeviren fonksiyon.

function reverseString(str) {
  return str.split('').reverse().join('');
}

const myString = "JavaScript";
console.log(reverseString(myString)); // Çıktı: "tpircSavaJ"
İlgili Bölümler: JAVASCRİPT

Boolean (Mantıksal) Değişkenler

Php de Boolean (Mantıksal) Değişkenler

<?php
    $aktif = true;
    $admin = false;
    echo "Kullanıcı aktif: " . ($aktif ? "Evet" : "Hayır");
    echo "<br>Admin yetkisi: " . ($admin ? "Var" : "Yok");
?>

Çıktı:
Kullanıcı aktif: Evet
Admin yetkisi: Yok
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP Temelleri

Çoklu Alan Güncelleme

MYSQL de tablodaki bir den çok veriyi güncelleme

UPDATE ogrenciler 
SET ad = 'Ahmet Can', yas = 21 
WHERE id = 1;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Çoklu Kayıt Ekleme

MYSQL de Tabloya Çoklu Kayıt Ekleme

INSERT INTO ogrenciler (ad, soyad, yas, email) VALUES
('Mehmet', 'Demir', 22, 'mehmet@email.com'),
('Ayşe', 'Kaya', 19, 'ayse@email.com'),
('Fatma', 'Çelik', 21, 'fatma@email.com');
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Create (Ekleme) İşlemi

Php de MYSQL veritabanına kayıt ekleme işlemi

<?php
function kullaniciEkle($pdo, $ad, $email, $sifre) {
    try {
        $hashedPassword = password_hash($sifre, PASSWORD_DEFAULT);
        $sql = "INSERT INTO kullanicilar (ad, email, sifre) VALUES (?, ?, ?)";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$ad, $email, $hashedPassword]);
        return $pdo->lastInsertId();
    } catch(PDOException $e) {
        throw new Exception("Kullanıcı eklenirken hata: " . $e->getMessage());
    }
}

// Kullanım
if ($_POST['kayit']) {
    $yeni_id = kullaniciEkle($pdo, $_POST['ad'], $_POST['email'], $_POST['sifre']);
    echo "Yeni kullanıcı ID: " . $yeni_id;
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Delete (Silme) İşlemi

Php de MySql veritabından veri silme işlemi

<?php
function kullaniciSil($pdo, $id) {
    try {
        $sql = "DELETE FROM kullanicilar WHERE id = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$id]);
        return $stmt->rowCount();
    } catch(PDOException $e) {
        throw new Exception("Kullanıcı silinirken hata: " . $e->getMessage());
    }
}

// Kullanım
if ($_POST['sil']) {
    $etkilenen_satir = kullaniciSil($pdo, $_POST['id']);
    if ($etkilenen_satir > 0) {
        echo "Kullanıcı başarıyla silindi.";
    } else {
        echo "Silinecek kullanıcı bulunamadı.";
    }
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Dizideki En Büyük Sayıyı Bulma

Verilen bir sayı dizisindeki en büyük elemanı bulan fonksiyon.

function findMaxInArray(arr) {
  if (arr.length === 0) {
    return undefined;
  }
  let max = arr[0];
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
      max = arr[i];
    }
  }
  return max;
}

const numbers = [3, 7, 2, 9, 4, 1];
console.log(findMaxInArray(numbers)); // Çıktı: 9
İlgili Bölümler: JAVASCRİPT

Filtreleme (HAVING)

MYSQL de tablodan veri çekerken bir filtre uygulama

SELECT yas, COUNT(*) as sayi 
FROM ogrenciler 
GROUP BY yas 
HAVING sayi > 1;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Form Doğrulama ve Güvenlik

Php de Veri Doğrulama

<?php
function veriDogrula($veri) {
    $hatalar = [];
    
    // Ad kontrolü
    if (empty($veri['ad'])) {
        $hatalar[] = "Ad alanı boş olamaz.";
    } elseif (strlen($veri['ad']) < 2) {
        $hatalar[] = "Ad en az 2 karakter olmalıdır.";
    }
    
    // Email kontrolü
    if (empty($veri['email'])) {
        $hatalar[] = "Email alanı boş olamaz.";
    } elseif (!filter_var($veri['email'], FILTER_VALIDATE_EMAIL)) {
        $hatalar[] = "Geçerli bir email adresi giriniz.";
    }
    
    // Şifre kontrolü
    if (empty($veri['sifre'])) {
        $hatalar[] = "Şifre alanı boş olamaz.";
    } elseif (strlen($veri['sifre']) < 6) {
        $hatalar[] = "Şifre en az 6 karakter olmalıdır.";
    }
    
    return $hatalar;
}

// Kullanım
if ($_POST['kayit']) {
    $hatalar = veriDogrula($_POST);
    
    if (empty($hatalar)) {
        // Veri geçerli, kayıt işlemini yap
        kullaniciEkle($pdo, $_POST['ad'], $_POST['email'], $_POST['sifre']);
    } else {
        // Hataları göster
        foreach ($hatalar as $hata) {
            echo "<p style='color: red;'>$hata</p>";
        }
    }
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

gettype() ve var_dump() Fonksiyonları

Php de gettype() ve var_dump() Fonksiyonları

<?php
    $metin = "PHP öğreniyorum";
    $sayi = 42;
    $ondalik = 3.14;
    $mantik = true;

    echo "Metin türü: " . gettype($metin);
    echo "<br>Sayı türü: " . gettype($sayi);
    echo "<br>Ondalık türü: " . gettype($ondalik);
    echo "<br>Mantık türü: " . gettype($mantik);
?>

Çıktı:
Metin türü: string
Sayı türü: integer
Ondalık türü: double
Mantık türü: boolean
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP Temelleri

Gruplama (GROUP BY)

MYSQL de Tablodaki verileri gruplayarak çekme

SELECT yas, COUNT(*) as sayi FROM ogrenciler GROUP BY yas;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Güvenli Şifre Yönetimi

PHP de güvenli şifre yönetimi

<?php
// Şifre hashleme
function sifreHashle($sifre) {
    return password_hash($sifre, PASSWORD_DEFAULT);
}

// Şifre doğrulama
function sifreDogrula($sifre, $hash) {
    return password_verify($sifre, $hash);
}

// Güçlü şifre kontrolü
function gucluSifreKontrol($sifre) {
    $hatalar = [];
    
    if (strlen($sifre) < 8) {
        $hatalar[] = "Şifre en az 8 karakter olmalıdır.";
    }
    
    if (!preg_match('/[A-Z]/', $sifre)) {
        $hatalar[] = "Şifre en az bir büyük harf içermelidir.";
    }
    
    if (!preg_match('/[a-z]/', $sifre)) {
        $hatalar[] = "Şifre en az bir küçük harf içermelidir.";
    }
    
    if (!preg_match('/[0-9]/', $sifre)) {
        $hatalar[] = "Şifre en az bir rakam içermelidir.";
    }
    
    if (!preg_match('/[^A-Za-z0-9]/', $sifre)) {
        $hatalar[] = "Şifre en az bir özel karakter içermelidir.";
    }
    
    return $hatalar;
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: İleri Seviye Konular ve Kapsamlı Proje

Hata Yönetimi

Php de Hata yönetimi için kullanılan Try-Catch Blokları

<?php
try {
    $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // Veritabanı işlemleri
    $stmt = $pdo->prepare("SELECT * FROM kullanicilar WHERE id = ?");
    $stmt->execute([$id]);
    $kullanici = $stmt->fetch();
    
} catch(PDOException $e) {
    // Veritabanı hatası
    error_log("Veritabanı hatası: " . $e->getMessage());
    echo "Bir hata oluştu. Lütfen daha sonra tekrar deneyin.";
} catch(Exception $e) {
    // Genel hata
    error_log("Genel hata: " . $e->getMessage());
    echo "Beklenmeyen bir hata oluştu.";
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

İlişkisel Dizi (Associative Array)

Php de İlişkisel Dizi (Associative Array)

<?php
    $kisi = array(
        "ad" => "Ali",
        "soyad" => "Veli",
        "yas" => 30,
        "meslek" => "Mühendis"
    );

    echo "Ad: " . $kisi["ad"];
    echo "<br>Yaş: " . $kisi["yas"];
?>

Çıktı:
Ad: Ali
Yaş: 30
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP Temelleri

İndeks Oluşturma

MYSQL de İndeks Oluşturma

CREATE INDEX idx_email ON ogrenciler(email);
CREATE INDEX idx_ad_soyad ON ogrenciler(ad, soyad);
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

İndeks Silme

MYSQL de İndeks Silme

DROP INDEX idx_email ON ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

JOIN İşlemleri

MYSQL de JOIN İşlemleri

-- INNER JOIN
SELECT o.ad, o.soyad, b.bolum_adi 
FROM ogrenciler o 
INNER JOIN bolumler b ON o.bolum_id = b.id;

-- LEFT JOIN
SELECT o.ad, o.soyad, b.bolum_adi 
FROM ogrenciler o 
LEFT JOIN bolumler b ON o.bolum_id = b.id;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Karşılaştırma Operatörleri - Büyüklük Karşılaştırması

Php de Karşılaştırma Operatörleri - Büyüklük Karşılaştırması

<?php
    $x = 10;
    $y = 7;
    var_dump($x > $y); // true
    var_dump($x <= $y); // false
?>

Çıktı:
10 > 7: bool(true)
10 <= 7: bool(false)
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: Operatörler ve Koşullu İfadeler

Karşılaştırma Operatörleri - Eşitlik Kontrolü

Php de Karşılaştırma Operatörleri - Eşitlik Kontrolü

<?php
    $a = 5;
    $b = "5";
    var_dump($a == $b); // true
    var_dump($a === $b); // false
?>

Çıktı:
== karşılaştırması: bool(true)
=== karşılaştırması: bool(false)
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: Operatörler ve Koşullu İfadeler

Koşullu Güncelleme

MYSQL de Tablodaki veriyi belirli bir koşula göre güncelleme

UPDATE ogrenciler 
SET yas = yas + 1 
WHERE yas < 25;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Koşullu Silme

MYSQL de tablodaki verileri belirli bir koşula göre silme

DELETE FROM ogrenciler WHERE yas < 18;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Koşullu Sorgulama (WHERE)

MYSQL de Tablodaki verileri belirli bir koşula göre çekme

SELECT * FROM ogrenciler WHERE yas > 20;
SELECT * FROM ogrenciler WHERE ad = 'Ahmet';
SELECT * FROM ogrenciler WHERE yas BETWEEN 18 AND 25;
SELECT * FROM ogrenciler WHERE email LIKE '%@gmail.com';
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

MySQLi Kullanımı

MySQLi, MySQL'e özel geliştirilmiş bir uzantıdır.

<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";

// Nesne yönelimli yaklaşım
$mysqli = new mysqli($servername, $username, $password, $dbname);

if ($mysqli->connect_error) {
    die("Bağlantı hatası: " . $mysqli->connect_error);
}

echo "Bağlantı başarılı!";
$mysqli->close();
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Oturum Başlatma ve Kullanıcı Girişi

Php ile oturum açma ve giriş yapma

<?php
session_start();

function kullaniciGirisi($pdo, $email, $sifre) {
    try {
        $sql = "SELECT id, ad, email, sifre FROM kullanicilar WHERE email = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$email]);
        $kullanici = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($kullanici && password_verify($sifre, $kullanici['sifre'])) {
            $_SESSION['kullanici_id'] = $kullanici['id'];
            $_SESSION['kullanici_ad'] = $kullanici['ad'];
            $_SESSION['kullanici_email'] = $kullanici['email'];
            return true;
        }
        return false;
    } catch(PDOException $e) {
        throw new Exception("Giriş kontrolü sırasında hata: " . $e->getMessage());
    }
}

// Kullanım
if ($_POST['giris']) {
    if (kullaniciGirisi($pdo, $_POST['email'], $_POST['sifre'])) {
        header("Location: dashboard.php");
        exit();
    } else {
        echo "Email veya şifre hatalı!";
    }
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Oturum Kontrolü

php ile Oturum açma da Oturum Kontrolü

<?php
function oturumKontrol() {
    if (!isset($_SESSION['kullanici_id'])) {
        header("Location: giris.php");
        exit();
    }
}

// Korumalı sayfalarda kullanım
session_start();
oturumKontrol();
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

PDO (PHP Data Objects) Kullanımı

PDO, farklı veritabanı türleri için tutarlı bir arayüz sağlar ve güvenlik açısından önerilir.

<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";

try {
    $pdo = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Bağlantı başarılı!";
} catch(PDOException $e) {
    echo "Bağlantı hatası: " . $e->getMessage();
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Rastgele Sayı Üretme (Belirli Aralıkta)

Belirtilen minimum ve maksimum değerler arasında rastgele bir tam sayı üreten fonksiyon.

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

console.log(getRandomInt(1, 10));
İlgili Bölümler: JAVASCRİPT

Read (Okuma) İşlemi

Php de MySql veritabanına eklenen tüm verileri getirme

<?php
function tumKullanicilariGetir($pdo) {
    try {
        $sql = "SELECT id, ad, email, kayit_tarihi FROM kullanicilar ORDER BY kayit_tarihi DESC";
        $stmt = $pdo->query($sql);
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        throw new Exception("Kullanıcılar getirilirken hata: " . $e->getMessage());
    }
}

function kullaniciGetir($pdo, $id) {
    try {
        $sql = "SELECT id, ad, email, kayit_tarihi FROM kullanicilar WHERE id = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$id]);
        return $stmt->fetch(PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        throw new Exception("Kullanıcı getirilirken hata: " . $e->getMessage());
    }
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Sayfalama (Pagination)

php ile Sayfalama (Pagination)

<?php
function sayfalama($pdo, $sayfa = 1, $sayfa_basina = 10) {
    try {
        $offset = ($sayfa - 1) * $sayfa_basina;
        
        // Toplam kayıt sayısı
        $toplam_stmt = $pdo->query("SELECT COUNT(*) FROM kullanicilar");
        $toplam_kayit = $toplam_stmt->fetchColumn();
        $toplam_sayfa = ceil($toplam_kayit / $sayfa_basina);
        
        // Sayfalanmış veriler
        $sql = "SELECT id, ad, email, kayit_tarihi FROM kullanicilar 
                ORDER BY kayit_tarihi DESC LIMIT ? OFFSET ?";
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(1, $sayfa_basina, PDO::PARAM_INT);
        $stmt->bindParam(2, $offset, PDO::PARAM_INT);
        $stmt->execute();
        $kullanicilar = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        return [
            'kullanicilar' => $kullanicilar,
            'toplam_sayfa' => $toplam_sayfa,
            'mevcut_sayfa' => $sayfa,
            'toplam_kayit' => $toplam_kayit
        ];
    } catch(PDOException $e) {
        throw new Exception("Sayfalama hatası: " . $e->getMessage());
    }
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Sayısal Değişkenler

Php de Sayısal Değişkenler

<?php
    $yas = 28;
    $maas = 7500.50;
    echo "Yaş: " . $yas;
    echo "<br>Maaş: " . $maas . " TL";
?>

Çıktı:
Yaş: 28
Maaş: 7500.5 TL
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP Temelleri

Sınırlama (LIMIT)

MYSQL de tablodaki belirli sayıdaki verileri çekme

SELECT * FROM ogrenciler LIMIT 5;
SELECT * FROM ogrenciler LIMIT 5, 10; -- 5. kayıttan başlayarak 10 kayıt
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Sıralama (ORDER BY)

MYSQL de Tablodaki verileri çekerken sıralama

SELECT * FROM ogrenciler ORDER BY ad ASC; /*A dan Z ye*/
SELECT * FROM ogrenciler ORDER BY yas DESC; /*Z den A ya*/
SELECT * FROM ogrenciler ORDER BY ad, soyad;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

String (Metin) Değişkenleri

PHP de String (Metin) Değişkenleri

<?php
    $isim = "Ahmet Yılmaz";
    $meslek = 'Yazılım Geliştirici';
    echo "İsim: " . $isim;
    echo "<br>Meslek: " . $meslek;
?>

Çıktı:
İsim: Ahmet Yılmaz
Meslek: Yazılım Geliştirici 
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP Temelleri

Tablo İlişkileri

MYSQL de Bire Çok İlişki Örneği

-- Bölümler tablosu
CREATE TABLE bolumler (
    id INT AUTO_INCREMENT PRIMARY KEY,
    bolum_adi VARCHAR(100) NOT NULL
);

-- Öğrenciler tablosuna bölüm referansı ekleme
ALTER TABLE ogrenciler 
ADD COLUMN bolum_id INT,
ADD FOREIGN KEY (bolum_id) REFERENCES bolumler(id);
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tablo Oluşturma

MYSQL de Tablo Oluşturma

CREATE TABLE ogrenciler (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ad VARCHAR(50) NOT NULL,
    soyad VARCHAR(50) NOT NULL,
    yas INT,
    email VARCHAR(100) UNIQUE,
    kayit_tarihi TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tablo Silme

MYSQL de Tablo Silme

DROP TABLE ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tablo Yapısını Görme

MYSQL de Tablo Yapısını Görme

DESCRIBE ogrenciler;
-- veya
SHOW COLUMNS FROM ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tabloları Listeleme

MYSQL de Tabloları Listeleme

SHOW TABLES;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tek Kayıt Ekleme

MYSQL de Tabloya Tek Kayıt Ekleme

INSERT INTO ogrenciler (ad, soyad, yas, email) 
VALUES ('Ko', 'Demi', 20, 'kodemi@esitemiz.com');
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tek Kayıt Güncelleme

MYSQL de Tablodaki bir veriyi güncelleme

UPDATE ogrenciler 
SET email = 'yeni_email@email.com' 
WHERE id = 1;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Temel Matematik İşlemleri

Php de Temel Matematik İşlemleri

<?php
    $a = 15;
    $b = 4;
    echo "Toplama: " . ($a + $b);
    echo "Çıkarma: " . ($a - $b);
    echo "Çarpma: " . ($a * $b);
    echo "Bölme: " . ($a / $b);
    echo "Mod: " . ($a % $b);
?>

Çıktı:
Toplama: 19
Çıkarma: 11
Çarpma: 60
Bölme: 3.75
Mod (Kalan): 3
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: Operatörler ve Koşullu İfadeler

Tüm Kayıtları Silme

MYSQL de tablodaki verilerin tamamını silme

DELETE FROM ogrenciler;
-- veya daha hızlı:
TRUNCATE TABLE ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tüm Sütunlara Veri Ekleme

MYSQL de Tablonun Tüm Sütunlara Veri Ekleme

INSERT INTO ogrenciler VALUES 
(NULL, 'Ali', 'Veli', 23, 'ali@email.com', NOW());
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Tüm Verileri Getirme

MYSQL de Tablodaki tüm verileri çekme

SELECT * FROM ogrenciler;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Update (Güncelleme) İşlemi

Php de MySql veritabanındaki veri güncelleme işlemi

<?php
function kullaniciGuncelle($pdo, $id, $ad, $email) {
    try {
        $sql = "UPDATE kullanicilar SET ad = ?, email = ? WHERE id = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$ad, $email, $id]);
        return $stmt->rowCount();
    } catch(PDOException $e) {
        throw new Exception("Kullanıcı güncellenirken hata: " . $e->getMessage());
    }
}

// Kullanım
if ($_POST['guncelle']) {
    $etkilenen_satir = kullaniciGuncelle($pdo, $_POST['id'], $_POST['ad'], $_POST['email']);
    echo $etkilenen_satir . " satır güncellendi.";
}
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu

Veritabanı Oluşturma

MYSQL de Veritabanı Oluşturma

CREATE DATABASE okul;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Veritabanı Seçme

MYSQL de Veritabanı Seçme

USE okul;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Veritabanı Silme

MYSQL de Veritabanı Silme

DROP DATABASE okul;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

Veritabanlarını Listeleme

MYSQL de Veritabanlarını Listeleme

SHOW DATABASES;
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: MySQL Veritabanı Temelleri

XSS Koruması

Php de XSS Koruması

<?php
function guvenliCikti($veri) {
    return htmlspecialchars($veri, ENT_QUOTES, 'UTF-8');
}

// Kullanım
echo "<p>Kullanıcı adı: " . guvenliCikti($kullanici['ad']) . "</p>";
?>
İlgili Bölümler: PHP & MYSQL
İlgili Dersler: PHP-MySQL Entegrasyonu