[英]IF statement not sure what I am doing wrong
在開始學習PHP / Mysql之前,我會嘗試學習並理解所有內容,然后再研究mysqli並研究正確的安全性步驟,因此我知道這段代碼會有漏洞。
基本上,我正在實施成員組系統,並且正在嘗試制定代碼,以便..
如果成員在組中,則顯示“組成員”;如果成員不在組中,則顯示“加入組”;如果成員已請求加入,但接受的值仍為0(待處理),則顯示“邀請待處理” 。
到目前為止,這是我的代碼,它包含在一個include中。
<?php
$id = $_GET['gid'];
$gruser = $_SESSION['user_id'];
$group = "SELECT * FROM `disc_users` WHERE user_id='$gruser' AND group_id='$id'";
$gres = mysql_query($group);
if ($gres == 0) { ?>
<input type="button" class="sub-button" value="Join Group">
<?
}
if ($gres == 1) { ?>
<input type="button" class="sub-button" value="Group Member">
<? } ?>
我無法弄清楚我在做什么錯,它沒有顯示錯誤,但是我得到了空格,沒有按鈕,我什至在$ group前面添加了“ echo”,它正確地獲取了值。
任何幫助表示贊賞。
您不能簡單地比較必須使用mysql_fetch_row等的mysql_query結果,但是在您的情況下可能是這樣的:
<?php
$id = $_GET['gid'];
$gruser = $_SESSION['user_id'];
$group = "SELECT * FROM `disc_users` WHERE user_id='$gruser' AND group_id='$id'";
$gres = mysql_query($group);
if (mysql_num_rows($gres) < 0) { ?>
<input type="button" class="sub-button" value="Join Group">
<?
}
else{ ?>
<input type="button" class="sub-button" value="Group Member">
<? } ?>
mysql查詢總是以數組的形式返回,因此在首先將數組分解為各個變量之前,不可能在if語句中進行比較。
您可以使用mysql_num_rows, $num_rows = mysql_num_rows($gres);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.