Ben formatının satır sayısı dönmelidir bir sorgu var testi getirmeMySQL: hayır eşleşme yoksa hiçbir maçları
+---------------------+-------+
| Date | Count |
+---------------------+-------+
| 2016-04-15 01:00:00 | 10 |
+---------------------+-------+
, sorgu bir sürü yeniden çalıştırır
+---------------------+-------+
| Date | Count |
+---------------------+-------+
| Null | 0 |
+---------------------+-------+
Bu koşulların her ikisini de test etmek istiyorum ve birincisi bazı JSON'ları iade etmek ve ikinci tur için boş JSON (JONS 'Hiçbiri', '0' değil).
Ben$firstRow = $sqlQuery->fetch(PDO::FETCH_ASSOC);
if ($firstRow['Count'] == 0)
$returnData = '';
else
$returnData = $sqlQuery->fetchAll(PDO::FETCH_ASSOC);
Ancak, 'Bakmak' görünüyor ilk satırı gözetleme için çalıştı ilk satır bu durumda JSON verileri de boş olduğu gibi, sonradan fetchAll()
olamaz anlamına gelir.
Yanlış anlıyor muyum? Bu kontrolü nasıl kodlayabilirim?
[Updfate] sorun sorgu NULL, 0
ile, her bir tarih için bir satır geri olmasıdır.
verileri "gerçek" ise
, sadeceFETCH_ALL()
ve sonra
json_encode()
ama ben yapmak istemiyorum
NULL, 0
tüm lats olması durumunda enj ben
json_encode()
için boş bir dize wan ve bu dönebilir, o yerine.
Sorgunuzu paylaşabilir misiniz? – Paul
'fetch()' işlevini çağırıp 'fetchAll()' işlevi 2 veritabanı sorgusuyla sonuçlanır. Varsa, sonuçların getirilmesini istediğinizden, yalnızca bir kez 'fetchAll()' işlevini çağırmayın ve sonra döndürülmüş dizinin sayısı 1 ile eşit olan değerin 1 olup olmadığını kontrol etmek için PHP'yi kullanın. json_encode ([]) veya bu durumda ne yapmak istersin? – Anton
Sorgu, her zaman birden çok satır döndürdüğü için. Hepsi "Boş, 0" olup olmadıklarını kontrol etmem gerekiyor, ama sadece birinin olup olmadığını kontrol etmek yeterli. PHP ile SQL'den daha iyisini yapmak daha iyi olurdu. – Mawg