在函数中,它从第一个if()语句返回数据,而不是函数中的次要if()语句,这是一个问题,请参见下面的内容。
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;
}
}它被称为:
$training = $connection->training("topic",$row['TID']);当函数被调用时,它返回的是$id,而不是$topic,即使我将$type变量设置为“$type”。
任何帮助都非常感谢,干杯!
发布于 2013-11-25 07:58:38
用'==‘代替'=’来进行比较
'=‘是赋值操作符,如果使用它进行比较,它总是返回true。这就是为什么你总是得到身份证。
if($type == "id") {
....
if($type == "topic"){
....发布于 2013-11-25 08:01:06
查看您的if语句:
if($type = "id")
if($type = "topic")你是在分配而不是比较。它们应该是:
if($type == "id")
if($type == "topic")发布于 2013-11-25 08:03:03
if($type = "id")将字符串"id“赋值给$type,并返回"id”,这是真的。
正如Harish所提到的,您必须编写if($type == "id")。
防止此错误的一种方法是编写if("id" == $type),如果您忘记了一个"=“,就会产生一个错误。
https://stackoverflow.com/questions/20187265
复制相似问题