-1

所以,我还是 php 编码的新手,还在学习等等。所以,如果之前有人问过这个问题,我很抱歉。我把这个写在我的头上,所以任何错误,再次,对不起。

我想从数据库中提取信息,如果是数字则显示文本。所以,我认为这样的事情会起作用(我必须用特定的单词检查 1 - 12):

 if(mysql_fetch_assoc($result) == 1){
 echo "student";
 }else
  "generic error";

或者因为我必须做 1 - 12

if($row_members['ulevel'] == 1){
echo "Student";
}else
"generic error";

当用户注册时,他们被分配了一个号码作为插入的一部分,所以不应该有任何错误。所以我想这是一个多部分的问题。如何创建语句来检查 ulvel 并将其打印为文本。1 是观察者,12 是管理员。

4

5 回答 5

2

mysql_fetch_assoc() 不返回整数值,它返回字符串的关联数组。

要检查状态,您可以简单地将表达式放在 if 表达式中。

$row = mysql_fetch_assoc($result);
if($row['ulevel'] == 1){
 echo "student";
} else
  "generic error";

如果您在多行之间进行检查

while($row = mysql_fetch_assoc($result)) {
    if($row['ulevel'] == 1){
     echo "student";
    } else
      "generic error";
}
于 2012-04-05T05:55:37.600 回答
0

一种方法可能是:

while($row = mysql_fetch_array($res)) {  
  if(is_int($row['ulevel'))  /* Or you can some other logic ex: 
                                $row['ulevel'] < 12 */
     print "Student";  
   else     
      print "Generic error!"  
}  
于 2012-04-05T05:52:51.650 回答
0
mysql_fetch_assoc($result) == 1

不会工作,因为 mysql_fetch_assoc 返回一个数组,所以你正在检查数组是否 == 1,它永远不会。

假设该表包含一个名为 ulevel 的字段,它是 int 类型的,并且假设您已经在一个名为 $results 的结果集中执行了查询:

while($result = mysql_fetch_assoc($results)){
  if($row["ulevel"] == 1){
    echo "student"
  }
  else if($row["ulevel"] == 2){//do something else

  }
  .....
  else{
    echo "Generic Error";
  }
}

更好的解决方案是将不同的用户类型存储在一个数组中:

$user_levels = array(1=>"Student",2=>"another".....);

那么你可以这样做:

echo $user_levels[$result["u_level"]];
于 2012-04-05T05:57:01.187 回答
0

mysql_fetch_assoc($result)获取一个关联数组,因此将其与 1 进行比较是行不通的。如果您的意思是它不应该为 null,您可以使用 is_null 函数。

如果要检查数组中的所有元素是否为数字,则可以使用循环遍历数组,如下所示

while($row=mysql_fetch_assoc($result))
{    foreach ($row as $value) {
       if($value>=1 && $value<=12)
     {echo("student");

    }

    else 
    echo("Generic error");
    }

 }    
于 2012-04-05T06:05:51.673 回答
0

试试这个

 while($row=mysql_fetch_assoc($result))
 {    
      if(in_array(1 , $row)){
         echo 'student';
         echo '<br>';  
      }else if(in_array(12,$row)){
         echo 'Admin';
         echo '<br>';  
      }else{
         echo 'Else';
         echo '<br>';  
      }

 }    
于 2012-04-05T06:14:16.297 回答