PDO ile null gelebilen veriyi kaydetme yönteminiz nedir?
9
●300
- 01-02-2025, 16:42:36Null değeri neden dbye kayıt ediyorum ki
- 01-02-2025, 17:26:12borelphiyazilim adlı üyeden alıntı: mesajı görüntüle
// 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();
- 01-02-2025, 17:36:27deeprock2 adlı üyeden alıntı: mesajı görüntüle
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. - 01-02-2025, 20:09:32deeprock2 adlı üyeden alıntı: mesajı görüntüle
- 01-02-2025, 20:19:21Hocam DB kolonu varsayılan ne alıyor ve boş olabilir kontrolü açık mı?
Eğer varsayılan null olarak dbden setlersen values göndermezsen null setlenir - 01-02-2025, 20:33:23
if (!empty($addUserDTO->$value)) { $addUser->bindValue($param, $addUserDTO->$value, PDO::PARAM_STR); } else { $addUser->bindValue($param, null, PDO::PARAM_NULL); // PARAM_NULL kullanımı }
@PropJoe Yukarıdaki gibi denediğimde, $addUserDTO->$value'nın değeri empty ise null kaydı yapmıyor.
@borelphiyazilim; Varsayılan değer için NULL atanıyor. Boş olabilir kontrolü açık.
Alıntı