Ana içeriğe atla

Kayıtlar

2023 tarihine ait yayınlar gösteriliyor

PDO Kullanımında bindParam ile bindValue Arasındaki Farklar

 bindParam, PDOStatement::execute()  çalışmadan önce tanımlanmış değer neyse ona göre çalışır. bindValue ise kendisinden önce tanımlı değişken değeri neyse onu çalıştırır.  Basit bir örnek ile açıklayalım. <?php $pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password'); // bindParam ile sorgu $name = "Hasan Yıldız"; $age = 38; $stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)"); $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':age', $age, PDO::PARAM_INT); $age = 21; //execute çalışmadan önce değeri değiştirdik. Veritabanına age => 21 olarak eklenecek. $stmt->execute(); // bindValue ile sorgu $name = "Hasan Yıldız"; $age = 35; $stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)"); $stmt->bindValue(':name', $name, PDO::PARAM_STR); $stmt->bindValue(':age', $age, PDO::PARAM_INT); $age ...