Php 获取数据库中帐户类型的值

Php 获取数据库中帐户类型的值,php,Php,是否可以抓取或获取表中的列并将其设置为“if-else语句”?我的查询有一个字段,指示用户拥有的帐户类型。这是一个在注册前定义为0的整数,如果在注册时选择admin,则该整数将设置为“1”,否则如果只是普通用户,则设置为“2”。我如何才能在数据库的列中获取这些值 $query = "SELECT * FROM users WHERE Username='$username' AND Password='$password'"; $result = @mysqli_query($connect

是否可以抓取或获取表中的列并将其设置为“if-else语句”?我的查询有一个字段,指示用户拥有的帐户类型。这是一个在注册前定义为0的整数,如果在注册时选择admin,则该整数将设置为“1”,否则如果只是普通用户,则设置为“2”。我如何才能在数据库的列中获取这些值

$query = "SELECT * FROM users WHERE Username='$username' AND Password='$password'"; 

$result = @mysqli_query($connection, $query);
$row = @mysqli_num_rows($result);
if ($row>0) {
    if ($result===1) {
        echo "You are an admin";
    }else
        echo "You are not an admin";
    }
}else
    $loginnotif = $loginerror;

检查行计数的方式只告诉您是否找到了记录。(或否)

这可能不是您想要的,因为您说您有一些“其他字段”(帐户类型?)对于admin设置为0或1?这与行计数无关。还有,为什么@operators会忽略可能的错误?移除这些以帮助解决问题

如果mysqli_fetch_array($result)对您不起作用,那么这可能意味着对$result的查询可能已失败(或者在该点之前的连接尝试可能已失败,这意味着连接尝试可能已失败,并且将其传递给查询将无效),并且您最终没有来自SELECT的结果集

应检查连接后的处理和查询后的处理,以了解它们的状态

…由于您没有显示mysqli_connect()处理,它应该有一个类似的检查,请尝试以下方式检查查询结果:

// before this point, it is not known if the connection was successful ??
$result = mysqli_query($connection, $query);

if ( $result === false ) {
    die ( "Query trouble: " . mysqli_error($connection) );
}

// At this point, the query was good, so you can use $result:
if ( 0 != mysqli_num_rows($result) ) {
    while ( $row = mysqli_fetch_array($result) ) {
        if ( $row['accountType'] == 1 ) { // change the field to match yours
            echo "You are an admin";
        }
        else {
            echo "You are NOT an admin";
        }
    }
}
有关用法示例,请参见此链接中的“程序样式”信息:


花点时间在php.net上查看每个mysqli_connect、mysqli_查询和mysqli_num_rows函数的API信息。该站点提供了每种方法的基本示例用法。

您需要从数据库中获取数据,然后设置条件。use can use@mysqli\u fetch\u arraymysqli\u fetch\u array对我无效。我不知道为什么。这就是为什么我使用mysqli_num_行,并假设它将获取数据库中的这些字段。感谢您的回答。:)我已经想出了如何处理这个问题,并将其应用到我的Web项目中。谢谢。:)这是一条紧密的线索。