首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数返回错误响应

函数返回错误响应
EN

Stack Overflow用户
提问于 2013-11-25 07:54:25
回答 3查看 57关注 0票数 0

在函数中,它从第一个if()语句返回数据,而不是函数中的次要if()语句,这是一个问题,请参见下面的内容。

代码语言:javascript
复制
function training($type,$tid)
{   
if($type = "id") {
    $query = mysql_query("SELECT * FROM trainroster WHERE DATE = CURDATE()");
    if (mysql_num_rows($query) == 1) {
            $array = mysql_fetch_array($query);
            $id=$array['TID'];  
            }
    else { $id = "1"; }
 return $id;
}
else if($type = "topic"){
    $query = mysql_query("SELECT * FROM trainroster WHERE TID='$tid'");
    $array = mysql_fetch_array($query);

    $topic = $array['TOPIC'];
    return $topic;
}
}

它被称为:

代码语言:javascript
复制
$training = $connection->training("topic",$row['TID']);

当函数被调用时,它返回的是$id,而不是$topic,即使我将$type变量设置为“$type”。

任何帮助都非常感谢,干杯!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-25 07:58:38

用'==‘代替'=’来进行比较

'=‘是赋值操作符,如果使用它进行比较,它总是返回true。这就是为什么你总是得到身份证。

代码语言:javascript
复制
if($type == "id") {
....
if($type == "topic"){
....
票数 1
EN

Stack Overflow用户

发布于 2013-11-25 08:01:06

查看您的if语句:

代码语言:javascript
复制
if($type = "id")

if($type = "topic")

你是在分配而不是比较。它们应该是:

代码语言:javascript
复制
if($type == "id")

if($type == "topic")
票数 0
EN

Stack Overflow用户

发布于 2013-11-25 08:03:03

if($type = "id")将字符串"id“赋值给$type,并返回"id”,这是真的。

正如Harish所提到的,您必须编写if($type == "id")

防止此错误的一种方法是编写if("id" == $type),如果您忘记了一个"=“,就会产生一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20187265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档