Подтвердить что ты не робот

Как проверить, возвращает ли mysql значение null/empty

In by DB У меня есть таблица с полем "fk_ownerID" . По умолчанию, когда я добавляю новую строку таблицы, "fk_ownerID" пуст. В Toad для MySQL это показано как {null}. Если "fk_ownerID" присваивается значение, и я позже удаляю это значение, я устанавливаю fk_ownerID = "".

Теперь у меня есть следующий код:

$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"];    
  }
}

Теперь переменная $ownerID должна иметь число или нет. Но я не уверен, как это проверить. В настоящее время я делаю это:

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

Но я уверен, что только один из этих тестов должен быть необходим.

Каков наилучший способ проверить, пустое ли поле строки или null?

4b9b3361

Ответ 1

Используйте empty() и/или is_null()

http://www.php.net/empty http://www.php.net/is_null

Пустое само по себе достигнет вашего текущего использования, is_null просто сделает возможным больше контроля, если вы хотите различать поле, которое является нулевым, и поле, которое пусто.

Ответ 2

Вы можете использовать функцию is_null().

http://php.net/manual/en/function.is-null.php: в комментариях:

mdufour в gmail dot com 20-Aug-2008 04:31 Тестирование для поля NULL/столбца, возвращаемого запросом mySQL.

Скажите, что вы хотите проверить, поле/столбец "foo" из данной строки таблицы "bar", когдa > , возвращаемый запросом mySQL, является нулевым. Вы просто используете функцию is_null():

[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"];
[…]

Ответ 3

Кроме того, не забудьте оператор ===, когда вы работаете с числами, которые могут означать null или 0 или возвращать какую-либо форму false или null, которая не является тем, что вы ищете.

Ответ 4

select FOUND_ROWS();

вернет no. записей, выбранных выбором запроса.

Ответ 5

Предположим, что

$row=mysql_fetch_row($rc)
and if you want to check if row[8] is null then do
$field=$row[8];
   if($field)
echo "";
else
 echo "";