Php 验证CodeIgniter中的计数\u all \u结果=1
我试图获取当前用户会话(如果存在),然后将其与数据库进行比较,同时使用loggedIn值=1表示loggedIn,并计算存在与此where子句匹配的单行数。如果存在,则显示登录,否则,显示下面If{}else{}中显示的登录表单 我有一个具有以下功能的模型:Php 验证CodeIgniter中的计数\u all \u结果=1,php,codeigniter,comparison-operators,Php,Codeigniter,Comparison Operators,我试图获取当前用户会话(如果存在),然后将其与数据库进行比较,同时使用loggedIn值=1表示loggedIn,并计算存在与此where子句匹配的单行数。如果存在,则显示登录,否则,显示下面If{}else{}中显示的登录表单 我有一个具有以下功能的模型: function check_if_loggedin(){ #get user session id from db. $sess = $this->session->userdata('session_
function check_if_loggedin(){
#get user session id from db.
$sess = $this->session->userdata('session_id');
#set numerical value of successfully logged in equal 1
$loggedInSetSuccess = 1;
#compare session id to match in db (can only have only 1 match)
$sessionsDbCompare = $this->db->get_where('Client',array('session_id'=>$sess,'loggedIn'=>$loggedInSetSuccess));
if($sessionsDbCompare->count_all_results() = 1) {
# User has valid session(valid sessID+loggedIn=0, show welcome
echo 'Logged in baby';
# show account pref
}
else{
# user doesnt have both a valid session and loggedIn is set to 0, show login form
echo 'login form here';
}
}
问题是-如果$sessionsDbCompare->count_all_results=1{my IDe警告我,我应该使用count_all_results==1还是count_all_results==1。抱歉,这有点新手,我想我有点困惑,因为count_all_results是一个函数。我确实理解类似于1==01的比较运算符。你应该使用它
count_all_results() == 1
你拥有它的方式是将1分配给它剩下的部分
IDE还担心count\u all\u结果可能返回false和0。这就是为什么它建议使用三个===,但不要担心。两个相等值将修复它。你应该使用这个
count_all_results() == 1
你拥有它的方式是将1分配给它剩下的部分
IDE还担心count_all_结果可能返回false和0。这就是为什么它建议使用三个===但不必担心。两个等号将修复这一行:
if($sessionsDbCompare->count_all_results() = 1) {
应该是:
if($sessionsDbCompare->count_all_results() == 1) {
这一行:
if($sessionsDbCompare->count_all_results() = 1) {
应该是:
if($sessionsDbCompare->count_all_results() == 1) {
您应该使用==使if语句看起来像:
if($sessionsDbCompare->count_all_results() == 1) { ...
您始终可以使用var\u dump$sessionsDbCompare->count\u all\u results;或类似方法来检查返回的值…您应该使用==这样if语句看起来像:
if($sessionsDbCompare->count_all_results() == 1) { ...
您可以始终使用var\u dump$sessionsDbCompare->count\u all\u results;或类似方法来检查返回的值…您应该使用
$this->db->count\u all
而不是$this->db->count\u all\u results您应该使用
$this->db->count\u all
与$this->db->count_不同,all_results=是赋值运算符,而==&==是比较运算符。在您的情况下,需要比较这两个值。好吧,很酷。但是在这种情况下,哪一个更好===或==?为什么?您可以在这里使用任意一个,因为Codeigniter在返回之前将结果强制转换为int。在比较nu时使用===更好mbers.=是赋值运算符,而==&==是比较运算符。在您的情况下,您需要比较这两个值。好的,很酷。但是对于这种情况,哪一个更好===或==?为什么?您可以在这里使用任意一个,因为Codeigniter在返回之前将结果强制转换为int。在比较数字时使用===更好。感谢var_dump错误checking-必须记住这一点。感谢Salih0vicX!感谢var_dump错误检查-必须记住这一点。感谢Salih0vicX!