$stmt = $dbh->prepare('SELECT id, name FROM folders WHERE parent_folder_id = :id');
$stmt->bindValue(':id', $folder_id, PDO::PARAM_INT);
Yukarıdaki kodu kullanıyorum. Bir klasörde bir parent_folder_id varsa, başka bir klasörde olduğu anlamına gelir. Bu sütun NULL ise, kök klasör olduğu anlamına gelir.PDO ile hem INT hem de NULL kabul etmek istiyorsam nasıl değer girilir?
$ folder_id dosyası NULL ise, NULL öğesinden sonra 0 olarak davranacaktır (bu nedenle, bu sütundaki değer NULL değil 0 olduğu için kodla sonuç elde edemiyorum). Üçüncü bağımsız değişkeni PDO :: PARAM_NULL olarak değiştirirsem hala sonuç alamıyorum. Bunun nedeni, "WHERE parent_folder_id = NULL" sorgusunu "WHERE parent_folder_id is NULL" ile aynı olmayan "WHERE parent_folder_id = NULL" olarak değerlendirdiğinden eminim.
PDO'nun bunu doğru bir şekilde ele almasının bir yolu var mı, yoksa "=" ile "=" değerini değiştirmek ve bindValue üçüncü parametresini doğru olanla değiştirmek için SQL deyimi satır içi ile oluşturmalı mıyım?
Teşekkürler! Bu hile yaptı ve bana da bir şey öğrettiniz, daha önce hiç <=> kullanmamıştım (yikes, biraz partiye, ha?). Bu bana gelecekte bir sürü baş ağrısı kurtaracak, bu kesin :) – Gazillion