Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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 无论结果如何,只显示1个变量的IF语句_Php_Mysql - Fatal编程技术网

Php 无论结果如何,只显示1个变量的IF语句

Php 无论结果如何,只显示1个变量的IF语句,php,mysql,Php,Mysql,我有一个网站,用户可以加入组并发布与该组相关的主题,我有一个问题,无论用户结果如何,它只显示“成员”,即使在数据库中没有记录的测试帐户上,是否有人可以解释我做错了什么,谢谢 <?php $id = $_GET['gid']; $user = $_SESSION['user_id']; $iropen = "SELECT * FROM `group_users` WHERE user_id='$user' AND group_id='$id'"; $resultg = mysql_que

我有一个网站,用户可以加入组并发布与该组相关的主题,我有一个问题,无论用户结果如何,它只显示“成员”,即使在数据库中没有记录的测试帐户上,是否有人可以解释我做错了什么,谢谢

<?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';
}
?>

这里需要两个
==

if ($rows['accepted'] == 1) {
PHP的运算符参考,如果需要:

这里需要两个
==

if ($rows['accepted'] == 1) {

PHP的运算符引用(如果需要):

@vinodadhikary的意思是,在第一个if子句中,您使用了单等号而不是双等号。应该是:
if($rows['accepted']==1).

vinodadhikary的意思是在第一个if子句中使用单等号而不是双等号。应该是: 如果($rows['accepted']==1)

<?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';
}

?>

试试这个

<?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';
}

?>


您想在
if
语句中使用比较运算符而不是赋值运算符。您想在
if
语句中使用比较运算符而不是赋值运算符。谢谢,这让我更接近了,现在在数据库中没有任何记录的帐户上,它显示的是“挂起”而不是“加入”。而旧的PHP
if($var=$something)
再次出现。当我看到这些东西时,它总是让我满脸笑容……谢谢,这让我更接近了,现在在数据库中没有任何记录的帐户上,它显示的是“挂起”而不是“加入”。而旧的PHP
if($var=$something)
再次出现。当我看到这些照片的时候,我总是笑逐颜开……谢谢,我试了一下,但成功了。警告:mysql_fetch_array()希望参数1是resource,第7行的/**/includes/widgets/group_panel.php中给出的布尔值警告:mysql_num_rows()希望参数1是resource,第9行的/**/includes/widgets/group_panel.php中给出的布尔值请查看更新。我已经改变了我的答案。替换
if($resultg=mysql\u query($iropen)){$rows=mysql\u fetch\u array($resultg);}
而不是
$resultg=mysql\u query($iropen)$rows=mysql\u fetch\u数组($resultg)谢谢我试了一下,但成功了。警告:mysql_fetch_array()希望参数1是resource,第7行的/**/includes/widgets/group_panel.php中给出的布尔值警告:mysql_num_rows()希望参数1是resource,第9行的/**/includes/widgets/group_panel.php中给出的布尔值请查看更新。我已经改变了我的答案。替换
if($resultg=mysql\u query($iropen)){$rows=mysql\u fetch\u array($resultg);}
而不是
$resultg=mysql\u query($iropen)$rows=mysql\u fetch\u数组($resultg)
即使我要查找的数据库中的值是0或1,这是否也适用?正如您在本文的其他地方所看到的,当您希望使变量包含值($a=1)时,使用单等号。双等号是当你问一个问题时:$a==1意味着“a中的值是数字1吗?”如果有帮助,你可以这样看:$a?=1(?=意味着“它相等吗?”)。同样如前所述,人们犯这种错误并不罕见。这只是需要一些时间来适应-很快,你就会变得自然/习惯(grin)。即使我要查找的数据库中的值是0或1,这也适用吗?正如你在本文其他地方看到的那样-当你想让变量包含值($a=1)时,单等号就是。双等号是当你问一个问题时:$a==1意味着“a中的值是数字1吗?”如果有帮助,你可以这样看:$a?=1(?=意味着“它相等吗?”)。同样如前所述,人们犯这种错误并不罕见。只是需要一些时间来适应——很快,你就会习惯了(咧嘴笑)。