Eğer deyimi çalışmıyor

2 Cevap php

Ben aşağıda kod çıktısı hiçbir $ girdisinin değeri her yerde veritabanında "site" sütununda varsa "$ entry yok" olmak istiyorum. Ben veritabanında "site" sütununda değil biliyorum $ giriş için bir değer girin Ancak, bu olmuyor. Benim eğer deyimi ile yanlış bir şey var mı?

Teşekkür peşin,

John

$result = mysql_query("SHOW TABLES FROM feather") 
or die(mysql_error()); 


while(list($table)= mysql_fetch_row($result))
{
  $sqlA = "SELECT COUNT(*) FROM `$table` WHERE `site` LIKE '$entry'";

  $resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
  if(mysql_num_fields($resA)>0){
  list($isThere) = mysql_fetch_row($resA);
  if ($isThere)
  {
     $table_list[] = $table;
  }
  }
  else{
print "<p class=\"topic\">$entry does not exist</p>\n";
}
}

2 Cevap

Evet. Sizin biçimlendirme gerçekten adalet yapmaz, olsa, denemek ve bu yüzden anlamak kolay o kadar temiz. NetBeans IDE, hatta Zend Development Environmont ($) otomatik kod biçimlendirme yapmak ve hayatı çok daha kolay hale.

$result = mysql_query("SHOW TABLES FROM feather") or die(mysql_error()); 
while(list($table)= mysql_fetch_row($result)) {
    $sqlA = "SELECT COUNT(*) FROM `$table` WHERE `site` LIKE '$entry'";

    $resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
    if(mysql_num_fields($resA)>0){
        list($isThere) = mysql_fetch_row($resA);
        if ($isThere) {
            $table_list[] = $table;
        }
    } else{
        print "<p class=\"topic\">$entry does not exist</p>\n";
    }
}

Kısacası:

mysql_num_fields ($ Resa) COUNT (*) işlevi her zaman (0 veya 1 veya 1000000, vb) ne olursa olsun, bir değer dönecektir, çünkü, her zaman sıfırdan büyüktür

, Düzeltmek başka bir seviye yukarı koymak ve daha güvenli olması için zorlama kullanmak için. Eğer her zaman 1 biliyorum çünkü nihayet, mysql_num_fields, gerçekten gerekli değildir:

$result = mysql_query("SHOW TABLES FROM feather") or die(mysql_error()); 
while(list($table)= mysql_fetch_row($result)) {
    $sqlA = "SELECT COUNT(*) FROM `$table` WHERE `site` LIKE '$entry'";
    $resA = mysql_query($sqlA) or die("$sqlA:".mysql_error());
    list($isThere) = mysql_fetch_row($resA);
    $isThere = intval($isThere);
    if ($isThere > 0) {
        $table_list[] = $table;
    } else{
        print "<p class=\"topic\">$entry does not exist</p>\n";
    }
}

Ve orada o var.

, Internet aşk için, bir SQL sorgusu kendinizi inşa etmeyin. Kullan PDO.