Как проверить, возвращает ли 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?
Ответы
Ответ 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 "";