簡體   English   中英

if-else語句在while循環中無法正常工作

[英]if-else statement not working correctly in while loop

我不確定我在這里做錯了什么。 如果用戶是管理員,我想獲得額外的鏈接,如果用戶是會員,則該鏈接應該是無效的。 但即使我以成員身份登錄,我也只能獲得管理員的額外鏈接。 我的代碼中我做錯了什么?

$connect=mysqli_connect("$db_server", "$db_user", "$db_password", "$db_database");
$query="SELECT admin FROM `$table_members`";
$result=mysqli_query($connect, $query);
while ($row=mysqli_fetch_assoc($result)) {
    $admin = $row['admin'];
    if ($admin=="Administrator") {
        echo "<a href=\"admin.php\">Admin Panel</a>";
    }
    else {
        echo "";
    }
}

我在這里先向您的幫助表示感謝!

我看不到任何與b / w admin和member有區別的查詢,你的代碼只需檢索admin列並遍歷每個值並在匹配時打印鏈接。

您是否認為您的查詢類似於使用唯一鍵,而您只需要檢查一次而不是while循環

$query="SELECT admin FROM `$table_members` where id='uniqueid'";

要么

$query="SELECT admin FROM `$table_members` where userID_email='uniqueid'";
$result=mysqli_query($connect, $query);
$row_cnt = mysqli_num_rows($result); // see if match found
if($row_cnt>0) { // if false mean unknown user
   $row=mysqli_fetch_assoc($result);
    $admin = $row['admin'];
    if ($admin=="Administrator") {
        echo "<a href=\"admin.php\">Admin Panel</a>";
    }
    else {
        echo "";
    }
}

首先你的連接是問題

1)刪除mysqli_connection參數中的所有雙引號。如果你給雙引號它作為參數傳遞變量作為參數,那么刪除雙引號

    $connect=mysqli_connect($db_server, $db_user, $db_password, $db_database);
    $query="SELECT admin FROM `$table_members` where email='user email address' ";
    $result=mysqli_query($connect, $query);
    while ($row=mysqli_fetch_assoc($result)) {
        $admin = $row['admin'];
        if ($admin=="Administrator") {
            echo "<a href=\"admin.php\">Admin Panel</a>";
        }
        else {
            echo "";
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM