Home > Backend Development > PHP Tutorial > 学习PHP遇到一个语法问题,折腾一天了,。

学习PHP遇到一个语法问题,折腾一天了,。

WBOY
Release: 2016-06-23 13:42:51
Original
973 people have browsed it

PHP代码部份,问题就出在这里,不能正常的做判断。

            <?php             if(sysname("webstate") == "Y"){//这里是sysname函数			  echo '<option value="Y">开启中</option>';              echo '<option value="N">停止中</option>';				}else{			  echo '<option value="N">停止中</option>';			  echo '<option value="Y">开启中</option>';			   }			?>
Copy after login


函数部份:
//网站基本信息,根据字段获取内容function sysname($field){ $sql="select * from system"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); echo $rs["$field"];}
Copy after login


数据库里webstate字段用的是char类型 字段用函数都可以正常输出,就是不能做判断。


求助。


回复讨论(解决方案)

function sysname($field){   $sql="select * from system";   $query=mysql_query($sql);   $rs=mysql_fetch_array($query);   retrun $rs[$field]; //这里是返回}
Copy after login
Copy after login
Copy after login

function sysname($field){   $sql="select * from system";   $query=mysql_query($sql);   $rs=mysql_fetch_array($query);   retrun $rs[$field]; //这里是返回}
Copy after login
Copy after login
Copy after login



请问如果我要直接调用就显示的话,该怎么写呢?

function sysname($field){   $sql="select * from system";   $query=mysql_query($sql);   $rs=mysql_fetch_array($query);   retrun $rs[$field]; //这里是返回}
Copy after login
Copy after login
Copy after login



这样写,会直接报法错误
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表吧

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template