Php函数在第7个值后停止

时间:2014-07-17 08:39:28

标签: php

我有一个从ODBC连接获取数据的函数

public function SageData() {
    $conn = odbc_connect('Data hub', '', '');
    if (!$conn) {
        exit("Connection Failed: " . $conn);
    }
    $sql = "SELECT [SHOP FLOOR PRODUCTION PLAN].[MACHINE], [SHOP FLOOR PRODUCTION PLAN].[cycletime]
FROM [SHOP FLOOR PRODUCTION PLAN]
WHERE ((([SHOP FLOOR PRODUCTION PLAN].[MACHINE])='$this->name'));

";

    $rs = odbc_exec($conn, $sql);
    if (!$rs) {
        exit("Error in SQL");
    }

    while (odbc_fetch_row($rs)) {

        $this->SageCycle = odbc_result($rs, "cycletime");
    }
  //  var_dump($this->SageCycle);
    odbc_close($conn);
    return $this->SageCycle;
}

这个函数是下面一个类的一部分,是在类中创建一个新对象的代码,在函数中$ this-> name对应于ZW01001等等数字

Machinecycle("ZW01001", "ZW01001Percent", 0);
Machinecycle("ZW01004", "ZW01004Percent", 1);
Machinecycle("ZW01005", "ZW01005Percent", 2);

该类函数由类中的另一个函数调用,将数据转换为可以使用的百分比,见下文

public function GetM() {

    $q = $this->Cycle();
    $qq = $this->SageData();

    $this->M = $q - $qq;
  //  $this->P = $this->M / $this->sageData();

    if ($qq == 0) {
        $this->P = 0;
    } else {
        $this->P = $this->M / $this->sageData();
    }

    return round($this->P, 2);
}

GetM输出的值被放入一个数组,我的问题是,当我运行这个时,我得到14个对象中前7个的数据,其余的这个错误

Notice: Undefined property: machine::$Cycletime in C:\Somepath\Datatest.php on line 104

第104行是这部分

    return round($this->Cycletime, 2);

我不明白的是为什么它在前7个之后就这样做了,而其余数据没有失败

澄清有14个类的实例,它适用于前7个,然后在那些之后停止。

以下是机器的整个课程这是一个真正的混乱,但这里是www.pastebin.com/LMk2gvWG 这可能有助于调试它当我回应Sql我得到这个pastebin.com/13nufXY由于某种原因1-9重复但是那些工作它是一次不重复不工作

1 个答案:

答案 0 :(得分:0)

你能发布课程代码'?也许某处变量被其他类对象替换。