не понимаю результатов запроса

Neft

Новичок
не понимаю результатов запроса

PHP:
 $sql = "SELECT max(products_id) FROM products  where products_id < $p_id and products_status = 1";
 $result = mysql_query($sql);

 if (mysql_num_rows($result) > 0)
   $prev = mysql_result($result,0);
 else
    $prev= $max[0];
после выполнения этого запроса mysql_num_rows показывает что выбрана строка.
По идее строк, удовлетворяющих запросу, нету.
Посмотрел результат запроса в майадин, так там результат - строчка со значение Null

ппц. пока писал пост в принципе и понял, почему на выходе всегда постое значение было.

как грамотнее этот код переписать? я добавил в условие ифа and mysql_result($result,0) != 0

может покрасивее вариант есть?
 

Армян

Новичок
если всегда возвращается одна строка, то вместо квери сразу делать mysql_result, и проверять результат на пустоту - помоему красиво будет :)
 

Neft

Новичок
Как это вместо квери?
сначала ж надо mysql_query, потом тока выборку??

в конкретно это случае получается полюбому всегда одна строка. то есть не надо делать проверку rows>0

а есть что нить для проверки на Null какая нить конструкция типа if xxx is Null? или нужно тока так писать if xxx=0, if xxx=''?
тут кстати есть раздел для новичков? ))
 

weregod

unserializer
если закрыть глаза на нотисы, то минимальные изменения могут быть таковыми:

if (mysql_num_rows($result) > 0) {
$prev = (int)mysql_result($result,0);
} ...
 

Neft

Новичок
mysql_num_rows($result) > 0
вот это вообще не нужно буит. там всегда одна строчка.
а где тут смайлы?

-~{}~ 12.09.08 00:21:

походу NVL тут тоже нету((
 
Сверху