Geçenlerde sen PDO'daki boş değerler bağlayabilir öğrendim:PDO'da "null değil" bağlanıyor mu?
$stmt = $db->prepare('SELECT * FROM foo WHERE bar = :bar');
$stmt->execute(array(':bar'=>null));
$foo = $stmt->fetchAll(PDO::FETCH_OBJ);
Bu başarıyla bar
sütun null veritabanı, tüm foo
getirmesi olacaktır. Bununla birlikte, şimdi tam tersini yapmak istiyorum. bar
sütununun numaralı null olduğu tüm sütunları getirmek istiyorum.
bar = :bar
'u bar IS NOT NULL
ile değiştirebileceğimin farkındayım. Bununla birlikte, bundan kaçınmak isterim ve bunun yerine hazırlamalı ifadeler yaparak yaparım, çünkü bazen dinamik olarak sorgu dizesini oluşturmak zorundayım ve bunu elle yapmak çok fazla iş gerektirecektir.
Bu mümkün mü?
[pixie] (https://github.com/usmanhalalit/pixie) gibi sorgu oluşturucu kitaplığını kullanabilir ve daha sonra dinamik sorguları kolayca oluşturabilir veya kendi sorgu oluşturucunuzu hazırlayabilirsiniz – Gal
İki deyim oluşturursunuz, değerleri ve diğerlerini kullandığınız 'NULL DEĞİLDİR'. PDO ** parametrelerini ** yazacaktır. – Mjh
@Mjh PDO/MySQL parametreleri * değerleri olarak değerlendirecektir. Dahil olan herhangi bir alıntı olabilir veya olmayabilir; İdeal olarak, yerel hazırlanmış ifadeler kullanıyorsanız, herhangi bir alıntı söz konusu değildir. Parametrelerin sözdizimi veya değerlerin bir parçası olarak ele alınmasında sadece bir fark var. – deceze