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

WBOY
Lepaskan: 2016-06-23 13:42:51
asal
938 orang telah melayarinya

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>';			   }			?>
Salin selepas log masuk


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


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


求助。


回复讨论(解决方案)

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

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



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

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



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

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan