【问题标题】:Php if session declare variablephp if session 声明变量
【发布时间】:2016-06-06 13:41:00
【问题描述】:

我有个小问题,我想根据session给一个变量赋值:

这是我的简单代码:

<?php
    if ( $_SESSION['admin_level'] == 10 ) { 
        $myvar = 'newclient';
    } elseif ( $_SESSION['admin_level'] == 11 ) {
        $myvar = 'oldclient';
    }
?>

这样,我可以查询:

$qry="SELECT * FROM client where client_status='".$myvar."'";

不幸的是,我无法声明变量并失败。感谢您的帮助

【问题讨论】:

  • 你在任何其他输出之前是否使用过session_start();?你说它失败了——你看到了什么错误?
  • 如果错误是在查询中,MySql 说没有结果,但是表示无法读取变量的值。警告:mysql_num_rows() 期望参数 1 是资源,给定的布尔值
  • 您需要提供有关该错误的更多信息。问题可能是会话没有开始,就像上面的评论一样。您可以使用 echo 功能打印会话变量的值,以帮助您找到问题。另一个考虑因素是您的 if 没有 else 语句。
  • 那么错误就在mysql_num_rows() 周围。请发布您的 SQL 查询周围的代码,因为这更相关
  • 问题在于 PHP,因为我在 Echo 中看不到结果。请参阅: 这作品

标签: php mysql


【解决方案1】:

我不清楚问题。据我了解检查以下代码

 <?php
   session_start(); // this is the first thing to do

   if(isset($_SESSION['admin_level'])){
        $_SESSION['admin_level']=10; //Set admin level if not available
    }

   $var=($_SESSION['admin_level']==10)?"newclient":"oldclient";


   $qry="SELECT * FROM client where client_status='".$var."'";

【讨论】:

  • 谢谢。现在,这行得通吗?
  • 语法错误,意外';' * $var=($_SESSION['admin_level']==10)?"value1";}*
  • 您需要定义默认值。它是 IF.. ELSE.. $var=($_SESSION['admin_level']==10)?"value1":"value2"; 的快捷方式
  • 我明白,但是当我有更多用户时会发生什么? admin_level 11,22,31,我想分配一个变量来按用户读取报告
猜你喜欢
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多