所以,我仍然是新的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是管理员。
答案 0 :(得分: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";
}
答案 1 :(得分: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!"
}
答案 2 :(得分: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"]];
答案 3 :(得分: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");
}
}
答案 4 :(得分: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>';
}
}