php if session 声明变量
Posted
技术标签:
【中文标题】php if session 声明变量【英文标题】:Php if session declare variable 【发布时间】: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 中看不到结果。请参阅: 这作品
【参考方案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,我想分配一个变量来按用户读取报告以上是关于php if session 声明变量的主要内容,如果未能解决你的问题,请参考以下文章