Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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从MySQL获取用户级别_Php_Mysql - Fatal编程技术网

如何通过PHP从MySQL获取用户级别

如何通过PHP从MySQL获取用户级别,php,mysql,Php,Mysql,我想我在这里搞砸了很多。如果这对你们中的一些人来说似乎很容易,我很抱歉。但是我真的不明白,如果用户是管理员或者仅仅是用户,我应该如何获取参数 我的参数是: 如果typ为1=用户具有管理员权限 如果typ为9=用户只有正常权限 从这个特权,我很乐意打印一些链接。。。如果你知道我的意思 include ('./conf/connect.php'); $typ = mysql_query("SELECT * FROM 'tz_members' WHERE 'typ'=($_GET'$t

我想我在这里搞砸了很多。如果这对你们中的一些人来说似乎很容易,我很抱歉。但是我真的不明白,如果用户是管理员或者仅仅是用户,我应该如何获取参数

我的参数是: 如果typ为1=用户具有管理员权限 如果typ为9=用户只有正常权限

从这个特权,我很乐意打印一些链接。。。如果你知道我的意思

include ('./conf/connect.php');
        $typ = mysql_query("SELECT * FROM 'tz_members' WHERE 'typ'=($_GET'$typ')"); 
        if($typ == 1){
            print "POWER, ste prijavljen kot admin.";
            print etc...
            }
        if($typ == 9){
            print "Ste navaden uporabnik";
            print etc...

        }
希望你们中的某个人能很好地为我指引正确的方向。 干杯
大卫

有几个问题

首先,它应该是
$\u GET['typ']
,而不是
$\u GET'$typ'

其次,在使用查询值之前,需要从查询中获取结果

第三,考虑使用PDO,因为<代码> MySQL*.*/COD>语句被折旧,并且您的方法易受SQL注入的影响。


编辑(来自zerkms):第四,在字段名周围使用“`”号,在值周围使用单引号。

下面是对代码的一个更正,希望它能起作用:

<?php
include ('./conf/connect.php');

$var = mysql_real_escape_string($_GET['typ']);

$query = mysql_query("SELECT * FROM `tz_members` WHERE `typ`='$var'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['typ'] == 1){
     print "POWER, ste prijavljen kot admin.";
} elseif($data['typ'] == 9){
     print "Ste navaden uporabnik";
}
?>

以您之前的方式进行操作的问题在于:

  • 您没有mysql注入预防措施mysql_real_escape_string()对此有帮助,但您应该使用PDO
  • 获取变量是通过$\u Get['variable\u name']完成的
  • 使用mysql\u查询时,必须获取数组或执行while循环来获取多个结果
  • 您可能应该阅读PHP数组,以便了解为什么上面使用$query['typ'],如果您还没有这样做的话
  • 退房:
    另外:

    typ
    是用户输入,为什么需要从数据库中获取?但是您的主要问题是您没有调用
    mysql\u fetch\u XXX
    来获取查询结果。
    'tz\u members'
    -为什么在表名周围加单引号?@Barmar:另一个“主要”问题是查询语法不正确)。我甚至没有试着去理解OP对
    ($\u get'$typ')的意思。
    @RogličDavid Rok:只是一个旁注:当你反复学习时,学习是有效的。当你开始做一些连基本的事情都不知道的事情时——这只是浪费时间。@zerkms谢谢:)但我想如果我把一些东西放在一起,我会学得更快。如果你明白我的意思的话!谢谢你的回答,伙计。我试过了,但什么也没发生。哈XD真的不明白有什么可能是错的。好吧,让我们把它分解一下,可能是a:我手指发胖了,或者B:你的桌子与我的代码不太匹配。在这里,让我们把它拆开,要么使用,要么消亡(mysql_error())。。。我已经用新代码编辑了上面的文章。当您在浏览器中访问URL时,是否键入类似的内容来测试它?$\u GET['typ']本身无法神奇地得出一个数字。GET和error:)警告:mysql\u fetch\u array()希望参数1是resource,boolean在第306行的/home/itps/public\u html/index.php中给出,Justin,我正在刷新index.php…因为当用户登录或登录时,那么用户应该是…打印。。。