Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner

Pdostatement Sınıfı (1 Görüntüleyici)

fikretyn
Yan Yana Banner

fikretyn

Resim Yükle
0
forumagel.com
Katılım
12 Mar 2024
Konular
0
Mesajlar
60
Tepkime puanı
24
Puan
8
Konum
samsun
PDOStatement sınıfı, PHP'de PDO (PHP Data Objects) ile çalışırken kullanılan önemli bir sınıftır. Bu sınıf, bir veritabanı sorgusunu temsil eder ve sorgunun hazırlanması, çalıştırılması ve sonuçlarının yönetilmesi gibi işlevler sunar. PDO, PHP’de farklı veritabanlarıyla çalışabilmek için evrensel bir arayüz sağlar ve PDOStatement sınıfı da bu arayüzün sorgu işlemlerini gerçekleştiren parçasıdır.

İşte PDOStatement sınıfının bazı önemli özellikleri ve yöntemleri:

1. Sorgu Hazırlama ve Çalıştırma

PDO ile bir sorguyu çalıştırmadan önce, genellikle sorguyu hazırlamanız (prepare) ve ardından çalıştırmanız (execute) gerekir.

// PDO bağlantısı oluşturma
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');

// Sorguyu hazırlama
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');

// Parametreyi bağlama ve sorguyu çalıştırma
$stmt->execute(['id' => 1]);

// Sonuçları çekme
$result = $stmt->fetchAll();

2. Parametre Bağlama

PDOStatement sınıfı, SQL enjeksiyon saldırılarına karşı güvenlik sağlamak için parametre bağlama işlevi sunar.

$stmt->bindParam(':id', $id);

3. Sonuçları Çekme

Sorgu çalıştırıldıktan sonra, sonuçları çeşitli yöntemlerle alabilirsiniz:

  • fetch(): Tek bir satırı çeker.
  • fetchAll(): Tüm satırları çeker.
  • fetchColumn(): Belirli bir sütunu çeker.
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['username'];
}

4. Hata Yönetimi

Eğer bir hata olursa, PDO ya da PDOStatement sınıfı bu hataları yakalayabilir ve işlemler sırasında güvenliği sağlar.

PDOStatement Sınıfının Yaygın Yöntemleri:​

  • execute(): Sorguyu çalıştırır.
  • bindParam(): Bir değişkeni parametreye bağlar.
  • bindValue(): Bir değeri parametreye bağlar.
  • fetch(): Sonuç kümesinden tek bir satır getirir.
  • fetchAll(): Tüm sonuçları getirir.
  • rowCount(): Etkilenen satır sayısını döndürür.

Örnek Kullanım:​

$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$id = 1;
$stmt->bindParam(':id', $id);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($user);Bu şekilde PDOStatement, veritabanı işlemleri üzerinde tam kontrol sağlar ve güvenli sorgular yazmayı kolaylaştırır.



Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

class PDOStatement implements
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
{
/* Özellikler */
public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
;
/* Yöntemler */
public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
|
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sütun,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
&$değişken,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$veri_türü = PDO::PARAM_STR,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$uzunluk = 0,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$seçenekler =
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
|
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$bağımsız_değişken,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
&$değişken,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$veri_türü = PDO:::PARAM_STR,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$uzunluk = 0,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$seçenekler =
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
|
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$bağımsız_değişken,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$değer,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$veri_türü = PDO:::PARAM_STR):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$girdiler =
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_DEFAULT,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$göst_yönü = PDO::FETCH_ORI_NEXT,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$göst_başlangıcı = 0):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_DEFAULT):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_COLUMN,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sütun):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_CLASS,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sınıf,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$bağımsız_değişkenler):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_FUNC,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$geriçağırım):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sütun = 0):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sınıf = "stdClass",
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$bağımsız_değişkenler = []):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
|
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$isim):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sütun):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
|
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
():
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$öznitelik,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$değer):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_COLUMN,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sütunnum):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_CLASS,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$sınıfadı,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$bağımsız_değişkenler =
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

public
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
(
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$kip = PDO::FETCH_INTO,
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
$nesne):
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.

}
PDOStatement sınıfı, PHP'nin PDO (PHP Data Objects) kütüphanesiyle veri tabanıyla etkileşim kurmak için kullanılır. Bu sınıf, bir SQL sorgusunu hazırladıktan sonra sorguyu yürütmek ve sonuçları almak gibi işlevler sunar. Aşağıda sınıfın özelliklerini, yöntemlerini açıklayıp, örnek kullanımını göstereceğim.

1. Özellikler​

  • public string $queryString: Hazırlanan SQL sorgusunun orijinal metnini tutar.

2. Yöntemler​

  • bindColumn: Sonuç setinden bir sütunu bir değişkene bağlar. Çekilecek veriyi doğrudan değişkene atar.

    PHP:
    bindColumn(string|int $sütun, mixed &$değişken, int $veri_türü = PDO::PARAM_STR, int $uzunluk = 0, mixed $seçenekler = null): bool


  • bindParam: SQL sorgusunda bir parametreye bir değişkeni bağlar. Bu yöntem genellikle giriş parametreleri için kullanılır. Değişken, sorgu çalıştırılmadan önce atanır.

    PHP:
    bindParam(string|int $bağımsız_değişken, mixed &$değişken, int $veri_türü = PDO::PARAM_STR, int $uzunluk = 0, mixed $seçenekler = null): bool


  • bindValue: SQL sorgusunda bir parametreye doğrudan bir değer bağlar. bindParam'dan farkı, değerin bağlanma anında sabitlenmesidir.

    PHP:
    bindValue(string|int $bağımsız_değişken, mixed $değer, int $veri_türü = PDO::PARAM_STR): bool
    Kod:


  • closeCursor: Veritabanı sunucusuyla ilişkili kaynakları serbest bırakır

    PHP:
    closeCursor(): bool


  • columnCount: Sonuç setinde kaç sütun olduğunu döndürür.

    PHP:
    columnCount(): int

  • debugDumpParams: Hazırlanmış SQL sorgusunun parametrelerini ve diğer bilgileri döker.

    PHP:
    debugDumpParams(): ?bool


  • errorCode: Son hatanın SQLSTATE kodunu döndürür.

    errorCode(): ?string


  • errorInfo: Son hataya dair geniş bilgi döndürür.

    errorInfo(): array


  • execute: Hazırlanmış bir sorguyu çalıştırır.

    execute(?array $girdiler = null): bool


  • fetch: Sonuç setinden bir satır döndürür.

    fetch(int $kip = PDO::FETCH_DEFAULT, int $göst_yönü = PDO::FETCH_ORI_NEXT, int $göst_başlangıcı = 0): mixed

  • fetchAll: Sonuç setinden tüm satırları döndürür.

    fetchAll(int $kip = PDO::FETCH_DEFAULT): array

  • fetchColumn: Bir satırdan belirtilen sütunu döndürür.

    fetchColumn(int $sütun = 0): mixed

  • fetchObject: Sonuç setinden bir satırı bir nesne olarak döndürür.

    fetchObject(?string $sınıf = "stdClass", array $bağımsız_değişkenler = []): object|false

  • getAttribute: PDOStatement nesnesinin bir özniteliğini döndürür.

    getAttribute(int $isim): mixed

  • getColumnMeta: Belirtilen sütunun meta verilerini döndürür.

    getColumnMeta(int $sütun): array|false

  • getIterator: Sorgu sonucunu döndüren bir iterator sağlar.

    getIterator(): Iterator

  • nextRowset: Birden fazla sonuç seti içeren sorgularda bir sonraki seti döndürür.

    nextRowset(): bool

  • rowCount: Etkilenen satır sayısını döndürür.

    rowCount(): int

  • setAttribute: PDOStatement nesnesinin bir özniteliğini ayarlar.

    setAttribute(int $öznitelik, mixed $değer): bool

  • setFetchMode: Sonuç setinin nasıl döndürüleceğini belirler.

    setFetchMode(int $kip): bool

Kullanım Örneği​

Aşağıdaki örnek, PDO kullanarak bir veritabanına bağlanmayı, bir sorgu hazırlamayı ve sonuçları çekmeyi gösterir:

<?php
try {
// PDO ile veritabanına bağlanma
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "username", "password");

// Sorgu hazırlama
$stmt = $pdo->prepare("SELECT id, name, email FROM users WHERE id = :id");

// Parametre bağlama
$id = 1;
$stmt->bindParam(':id', $id, PDO::PARAM_INT);

// Sorguyu çalıştırma
$stmt->execute();

// Sonuçları çekme
$result = $stmt->fetch(PDO::FETCH_ASSOC);

// Sonucu ekrana yazdırma
print_r($result);

} catch (PDOException $e) {
echo "Hata: " . $e->getMessage();
}
?>

Bu örnekte:
  • bindParam ile :id parametresi bağlanır.
  • execute ile sorgu çalıştırılır.
  • fetch ile sonuçlar döndürülür.
PDOStatement sınıfı, veritabanı işlemlerini güvenli ve esnek bir şekilde yapmanıza olanak tanır. Bu sınıf sayesinde SQL enjeksiyonu gibi güvenlik açıkları minimize edilebilir.
 
Son düzenleme:

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri