deeprock2 adlı üyeden alıntı: mesajı görüntüle
Aşağıdaki örneğe benzer şekilde kullanan var mı, bu şekilde çalışıyor mu diye merak ettim. Benim yapılandırmada çalışmıyor.
// SQL sorgusu
$sql = "INSERT INTO tablo_adi (sütun1, sütun2) VALUES (:deger1, :deger2)";
$stmt = $pdo->prepare($sql);
// Değerleri bağlama
$deger1 = 'Birinci Değer'; $stmt->bindValue(':deger1', $deger1);
// NULL değeri bağlama
$stmt->bindValue(':deger2', null, PDO::PARAM_NULL);
// Sorguyu çalıştırma
$stmt->execute();
Selamlar.
Bindvalue yada execute kullanarak yapabilirsiniz.
try {
    $sql = "INSERT INTO tablo_adi (sutun1, sutun2) VALUES (:deger1, :deger2)";
    $stmt = $pdo->prepare($sql);
    
    $deger1 = 'Birinci Değer';
    $deger2 = null;
    
    // String değer için
    $stmt->bindValue(':deger1', $deger1, PDO::PARAM_STR);
    
    // NULL değer için
    $stmt->bindValue(':deger2', $deger2, 
        $deger2 === null ? PDO::PARAM_NULL : PDO::PARAM_STR);
    
    $stmt->execute();
    
} catch(PDOException $e) {
    echo "Hata: " . $e->getMessage();
}
Execute :

try {
    $sql = "INSERT INTO tablo_adi (sutun1, sutun2) VALUES (:deger1, :deger2)";
    $stmt = $pdo->prepare($sql);
    
    $deger1 = 'Birinci Değer';
    $deger2 = null;
    
    $stmt->execute([
        ':deger1' => $deger1,
        ':deger2' => $deger2
    ]);
    
} catch(PDOException $e) {
    echo "Hata: " . $e->getMessage();
}
PDO'nun varsayılan yapılandırmasında NULL değerler otomatik olarak doğru şekilde işlenir, bu nedenle özel olarak PDO::PARAM_NULL belirtmenize genellikle gerek yok, İkinci yöntem daha kısa ve genellikle tercih edilen bir yöntemdir. PDO otomatik olarak NULL değerleri doğru şekilde yansıtır.
Sevgiler.