Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php会话,基于用户级问题重定向_Php_Mysql - Fatal编程技术网

Php会话,基于用户级问题重定向

Php会话,基于用户级问题重定向,php,mysql,Php,Mysql,我有这段代码,它似乎不起作用,我想做的是进行查询以了解用户的级别,然后根据该级别我需要打印不同的内容,目前它打印默认内容,我得到以下错误消息: mysql_result()希望参数1是资源,布尔值在这一行给出: $rank = mysql_result($rank1, 0, 'rank'); 代码如下所示: session_start(); if(!$_SESSION['username']){ header("location:login.php"); // Redirect to log

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

mysql_result()希望参数1是资源,布尔值在这一行给出:

$rank = mysql_result($rank1, 0, 'rank');
代码如下所示:

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>";
}
session_start();
如果(!$\会话['username']){
标题(“location:login.php”);//重定向到login.php页面
}
else//继续当前页面
标题('Content Type:text/html;charset=utf-8');
$rank1=mysql\u query(“从tbl\u库中选择访问,其中column='username.mysql\u real\u escape\u字符串($\u SESSION['username'])。””);
$rank=mysql_结果($rank1,0,'rank');
交换机($rank)
{
案例3:
回声“;
打破
案例2:
回声“
";
打破
案例1:
回声“
";
打破
违约:
回声“
";
}

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

WHERE column='username" 
尝试使用:

mysql_query("SELECT access FROM tbl_galleries WHERE username ='" . mysql_real_escape_string($_SESSION['username']) . "'");
好的,复杂的语法:

$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'rank');
您正在使用可选参数获取
mysql\u结果中的特定列,但它与您在查询语句中选择的列名不匹配

$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'access');

您是否配置了Mysql连接。你应该有这样的东西:
$link=mysql\u connect('localhost','mysql\u user','mysql\u password')

如果出现语法错误,
SELET
必须是
SELECT

mysql_query("SELECT..
为什么不试试这个:

$username = mysql_real_escape_string($_SESSION['username']);
$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username = '$username'");

在mysql查询中,您正在从表中检索唯一一个名为access的列,在mysql_result()函数的后续代码中,您正在将第三个参数字段名作为秩传递,但在查询返回的结果中,列或字段名秩不出现。 像这样

SELECT access FROM tbl_galleries WHERE username = '$username'
$rank = mysql_result($rank1, 0, 'rank');
如果您想得到rank字段的结果,那么可以使用字段访问检索rank字段,或者检索表中的所有列,或者将mysql_result函数中的第三个参数作为“access”传递

用于选择、显示、描述、解释和其他返回语句 resultset,mysql_query()在成功时返回资源,在失败时返回FALSE 错误

对于其他类型的SQL语句,请执行INSERT、UPDATE、DELETE、DROP等操作, mysql_query()成功时返回TRUE,错误时返回FALSE

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

$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');

谢谢你回复我:)是的,我已经这么做了。。但问题似乎不在这里,我仍然收到相同的消息错误。@Alb mgraph还发现了
select
错售中的一个语法错误。这就是问题所在吗?@Alb请参见编辑。您的选择列名与结果列名不匹配。谢谢。。是的,我有一个错误,我现在修复了一切:)谢谢!还有拼写错误“SELET”而不是“SELECT”