在看一段代码,发现这个句子貌似永远为假
if (!$user = User::getById($_GET['uid']))其中getByID($uid)是User类的一个static方法,用于根据$uid返回一个user对象,代码如下
public static function getById($uid)
{
$u = new User(); $query = sprintf('SELECT USERNAME, PASSWORD, EMAIL_ADDR, IS_ACTIVE ' .
'FROM %sUSER WHERE USER_ID = %d',
DB_TBL_PREFIX,
$uid);
$result = mysql_query($query, $GLOBALS['DB']); if (mysql_num_rows($result))
{
$row = mysql_fetch_assoc($result);
$u->username = $row['USERNAME'];
$u->password = $row['PASSWORD'];
$u->emailAddr = $row['EMAIL_ADDR'];
$u->isActive = $row['IS_ACTIVE'];
$u->uid = $uid;
}
mysql_free_result($result); return $u;
}如果有对应的uid,肯定返回一个对象,if条件为假。如果没有对应的uid,是不是也返回一个对象(一个只声明没有初始化的对象)?
if (!$user = User::getById($_GET['uid']))其中getByID($uid)是User类的一个static方法,用于根据$uid返回一个user对象,代码如下
public static function getById($uid)
{
$u = new User(); $query = sprintf('SELECT USERNAME, PASSWORD, EMAIL_ADDR, IS_ACTIVE ' .
'FROM %sUSER WHERE USER_ID = %d',
DB_TBL_PREFIX,
$uid);
$result = mysql_query($query, $GLOBALS['DB']); if (mysql_num_rows($result))
{
$row = mysql_fetch_assoc($result);
$u->username = $row['USERNAME'];
$u->password = $row['PASSWORD'];
$u->emailAddr = $row['EMAIL_ADDR'];
$u->isActive = $row['IS_ACTIVE'];
$u->uid = $uid;
}
mysql_free_result($result); return $u;
}如果有对应的uid,肯定返回一个对象,if条件为假。如果没有对应的uid,是不是也返回一个对象(一个只声明没有初始化的对象)?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货