PHP代码部份,问题就出在这里,不能正常的做判断。
<?php if(sysname("webstate") == "Y"){//这里是sysname函数 echo ''; echo ''; }else{ echo ''; echo ''; } ?>
函数部份:
//网站基本信息,根据字段获取内容function sysname($field){ $sql="select * from system"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); echo $rs["$field"];}
数据库里webstate字段用的是char类型 字段用函数都可以正常输出,就是不能做判断。
求助。
回复讨论(解决方案)
function sysname($field){ $sql="select * from system"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); retrun $rs[$field]; //这里是返回}
function sysname($field){ $sql="select * from system"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); retrun $rs[$field]; //这里是返回}
请问如果我要直接调用就显示的话,该怎么写呢?
function sysname($field){ $sql="select * from system"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); retrun $rs[$field]; //这里是返回}
这样写,会直接报法错误
Parse error: syntax error, unexpected T_VARIABLE in 指向最后一行,即retrun $rs[$field];
不好意思,手误!
retrun
应为
return
不好意思,手误!
retrun
应为
return
如果我想在函数里直接可以显示,在调用时不用再echo,该怎么做呢?
我之前写的,就可以做到调用时不用echo ,但是用于判断就不行。不明白呀。麻烦提点一二,感谢。
1.函数里面return $rs[$field];
2.判断的时候 var_dump(sysname("webstate"))输出即可。
在函数里面echo 只是输出或者打印,return是函数的返回值,才能判断。
return
1、你首先的学会调试,通过断点调试便可找到问题出在那里,只有知道问题再那,才可以修改。
2、注意:你看有时候是看不出来问题的。
3.解决方案:
function sysname($field){
$sql="select * from system";
$query=mysql_query($sql);
$rs=mysql_fetch_array($query);
return $rs[$field];//不用加引号
}
在php页面:$aa = sysname("webstate");var_dump($aa);看$aa 能输出y不,如果可以,在判断语句中if($aa == "Y"){echo "aa";}else{echo "bb";}看输出什么,一步一步调试你就能解决了。
1.函数里面return $rs[$field];
2.判断的时候 var_dump(sysname("webstate"))输出即可。
您好,首先感谢您的帮助,不过不行。打印出来是 YNULL
你现在的返回值是什么?
数据库的system表里的记录可能不止一条,你所查询的那个字段不在第一条记录里面
你去看看这个system表吧