首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php会话,根据用户级别问题重定向

问Php会话,根据用户级别问题重定向
EN

Stack Overflow用户
提问于 2012-08-27 20:01:46
回答 6查看 582关注 0票数 0

我有一个似乎不起作用的代码,我想要做的是进行一个查询,以了解用户的级别,然后根据该级别,我需要打印不同的内容,在打印默认内容的那一刻,我得到了这个错误消息:

mysql_result()期望参数1是资源,在该行上给出布尔值:

代码语言:javascript
复制
$rank = mysql_result($rank1, 0, 'rank');

代码如下:

代码语言:javascript
复制
session_start();
if(!$_SESSION['username']){

header("location:login.php"); // Redirect to login.php page
}
else //Continue to current page
header( 'Content-Type: text/html; charset=utf-8' );
$rank1 = mysql_query("SELET access FROM tbl_galleries WHERE column='username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'rank');

switch ($rank)
{
case 3:
  echo "<div><a href='#'>Order DIAMOND Membership</a></div>";
  break;

case 2:
  echo "<div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>";
  break;

case 1:
  echo "<div><a href='#'>Order ELITE Membership</a></div>
    <div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>";
  break;

default:
  echo "<div><a href='#'>Order PRO Membership</a></div>
    <div><a href='#'>Order ELITE Membership</a></div>
    <div><a href='#'>Order PLATINUM Membership</a></div>
    <div><a href='#'>Order DIAMOND Membership</a></div>";
}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-08-27 20:54:09

表示SELECT、SHOW、DESCRIBE、EXPLAIN和其他返回结果集的语句,mysql_query()在成功时返回资源,在错误时返回FALSE。

对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()在成功时返回TRUE,在出错时返回FALSE。

这意味着您的查询中有一些错误。尝试在phpMyAdmin或其他类似工具中完成查询。您的查询应该是这样的

代码语言:javascript
复制
$userName = mysql_real_escape_string($_SESSION['username']);
$sql = "SELECT access 
        FROM tbl_galleries 
        WHERE username = $userName";
$result = mysql_query($sql);
$rank = mysql_result($result, 0, 'access');
票数 0
EN

Stack Overflow用户

发布于 2012-08-27 20:06:10

存在语法错误,SELET必须为SELECT

代码语言:javascript
复制
mysql_query("SELECT..
票数 2
EN

Stack Overflow用户

发布于 2012-08-27 20:04:18

查询中的引号不匹配,并且使用了不正确的语法:

代码语言:javascript
复制
WHERE column='username" 

尝试使用:

代码语言:javascript
复制
mysql_query("SELECT access FROM tbl_galleries WHERE username ='" . mysql_real_escape_string($_SESSION['username']) . "'");

好的,棘手的语法是:

代码语言:javascript
复制
$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'rank');

您正在使用可选参数来获取mysql_result中的特定列,但它与您在查询语句中选择的列名不匹配;

代码语言:javascript
复制
$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'access');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12141605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档