我想获得"系统"给出的所有行(应该只返回一行,因为表中只有一行符合该条件)。但是,即使它得到了正确的行,并且给定了给定的值为"System",它仍然在三元运算符中返回"3"。
我有这一小段代码,其中$query = mysql_fetch_assoc(mysql_query('SELECT * FROM regtokens WHERE token = ''' . $token . ''''));
下面是我的代码:
echo $query['givenBy']; //outputs "System"
$level = ($query['givenBy'] === 'System' ? 1 : 3);
echo $level; //outputs "3"
似乎你必须使用trim来删除空白区域。我也更喜欢使用strtolower来比较这类字符串。
你可以这样尝试:
$level = (trim(strtolower($query['givenBy'])) === 'system' ? 1 : 3);
echo $level;