Geçerli MySQL sonuç kaynak denetleniyor

6 Cevap php

Bu kodu vardır:

$rows = array();
$res = mysql_query($someQuery);

if(!mysql_errno())
    while($row = mysql_fetch_assoc($res))
        $rows[] = $row;

$someQuery Ben bir forma yazmak keyfi bir sorgu. Ben hataları ile bir mysql sorgu yazarken mysql_errno davayı yakalar. Mysql_num_rows (): Verilen argümanı geçerli bir MySQL sonuç değil ama, ben sadece bir "Tablo_ismi sil" sorgusu yaptığınızda, tabii ki bir hata değildir, ama aynı zamanda mysql_fetch_array bir "Uyarı başarısız olduğunu keşfetti / falan / filan / file.php hat x üzerinde "kaynak.

Ben (... belki ben sadece körüm) kılavuzda bu bakmak için denedim ama ben $ res geçerli MySQL result resource olup olmadığını kontrol etmek için kullanabileceğiniz bir fonksiyon var mı?

6 Cevap

if ($res), bir kaynak olmadığını kontrol etmek için iyi çalışması gerekir. De tüm geçerli bir kaynak ise is_resource() belirleyecektir.

Ayrıca mysql_affected_rows bir INSERT / UPDATE / etc olmadığını belirlemek için denemek için kontrol edebilir

mysql_query() returns true veya false bu yüzden bu şekilde kontrol edebilirsiniz:

if($res) {
    // The query succeeded.
}

: Belki sadece koşulu değiştirin

if(!mysql_errno() && @mysql_num_rows($res) > 0)

Koşullu hiçbir satır varsa başarısız olur, ve @ uyarıyı bastırır.

Eğer eklerseniz, UPDATE, mysql_query o zaman sadece (operasyonun başarısına bağlı olarak) true veya false dönecektir yoluyla DELETE veya DAMLA.

Ben kaynak bu durumda içeren bekliyoruz emin değilim?

Eğer etkilenen satırların sayısını gerekiyorsa, mysql_affected_rows() kullanabilirsiniz.