我有一个网站,用户可以加入群组并发布与该群组相关的主题,我遇到的问题是,无论用户结果如何,它都会显示“成员”,即使在数据库中没有记录的测试帐户上也是如此,有人可以解释我做错了什么,谢谢。
<?php
$id = $_GET['gid'];
$user = $_SESSION['user_id'];
$iropen = "SELECT * FROM `group_users` WHERE user_id='$user' AND group_id='$id'";
$resultg = mysql_query($iropen);
$rows = mysql_fetch_array($resultg);
if ($rows['accepted'] = 1) {
echo 'member';
} else {
echo 'pending';
}
if ($resultg < 1) {
echo 'join';
}
?>
答案 0 :(得分:7)
if ($rows['accepted'] = 1) {
这里需要两个==
。
if ($rows['accepted'] == 1) {
PHP的运算符引用(如果需要):http://www.php.net/manual/en/language.operators.php
答案 1 :(得分:1)
@vinodadhikary所说的是你的第一个IF子句中有单个等号而不是双等号。它应该是: if($ rows ['accepted'] == 1)...
答案 2 :(得分:0)
试试这个
<?php
$id = $_GET['gid'];
$user = $_SESSION['user_id'];
$iropen = "SELECT * FROM `group_users` WHERE user_id='".$user."' AND group_id='".$id."'";
if($resultg = mysql_query($iropen)){
$rows = mysql_fetch_array($resultg)
}
if (mysql_num_rows($resultg) < 1) {
echo 'join';
}else if ($rows['accepted'] == 1) {
echo 'member';
} else {
echo 'pending';
}
?>
答案 3 :(得分:0)
<?php
$id = $_GET['gid'];
$user = $_SESSION['user_id'];
$iropen = "SELECT * FROM `group_users` WHERE user_id='$user' AND group_id='$id'";
$resultg = mysql_query($iropen);
$rows = mysql_fetch_array($resultg);
$num_results = mysql_num_rows($resultg);
if ($num_results < 1) {
echo "join";
} else if ($rows['accepted'] == 1) {
echo "member";
} else {
echo "pending";
}
?>