Mysql null / boş dönerse nasıl kontrol

3 Cevap php

DB tarafından I 'fk_ownerID' olarak adlandırılan bir alan ile bir tablo var. Ben yeni bir tablo satırı eklediğinizde, varsayılan olarak, 'fk_ownerID' boş. MySQL için Toad, bu {} boş olarak gösterilir. 'Fk_ownerID' bir değer verilmiş ve daha sonra bu değeri kaldırmak ise, I = "" fk_ownerID ayarlayın.

Şimdi, aşağıdaki kodu var:

$result = $dal->getRowByValue('tableName','id', $_POST['myID']);

// Check to see if any rows where returned
if (mysql_num_rows($result) > 0)
{
  while ($row = mysql_fetch_array($result))
  {
    $ownerID = $row["fk_ownerID"];    
  }
}

Şimdi değişken $ OwnerID bir dizi var, ya da olmamalıdır. Ama bu kontrol nasıl emin değilim. Şu anda bu yapıyorum:

if ( (strlen($ownerID) == 0) || ($ownerID == '0') || ($ownerID == 'null') )

Ama ben sadece bir bu testlerin gerekli olmalıdır eminim.

Bir satır alan boş veya null olup olmadığını denetlemek için en iyi yolu nedir?

3 Cevap

Boş () kullanın ve / veya is_null ()

http://www.php.net/empty http://www.php.net/is%5Fnull

Eğer boş bir alan ve boş bir alana ayırt etmek istiyorsa tek başına boş geçerli kullanımınızı başaracaktır, is_null sadece daha fazla kontrol mümkündür kılacak.

Eğer çeşit boş demek ya 0 ya da dönebilirdi sayılarla çalışırken Ayrıca, === operatörü unutma yanlış veya aradığınızı değil null.

Sen () fonksiyonunu is_null kullanabilirsiniz.

http://php.net/manual/en/function.is-null.php: görüşleri:

mdufour at gmail dot com 20-Aug-2008 04:31 Testing for a NULL field/column returned by a mySQL query.

Say you want to check if field/column “foo” from a given row of the table “bar” when > returned by a mySQL query is null. You just use the “is_null()” function:

[connect…]
$qResult=mysql_query("Select foo from bar;");
while ($qValues=mysql_fetch_assoc($qResult))
     if (is_null($qValues["foo"]))
         echo "No foo data!";
     else
         echo "Foo data=".$qValues["foo"];
[…]