Php 功能只工作了一半不知道为什么
我有一个函数,它是php中一个类的一部分,用于获取一些数据,它似乎适用于某些对象,但不适用于其他对象 我遇到了一个问题,它将获得前6条左右的记录,并将其余记录返回为null。这里是Var_dump$this->sdataPhp 功能只工作了一半不知道为什么,php,odbc,Php,Odbc,我有一个函数,它是php中一个类的一部分,用于获取一些数据,它似乎适用于某些对象,但不适用于其他对象 我遇到了一个问题,它将获得前6条左右的记录,并将其余记录返回为null。这里是Var_dump$this->sdata string(6) "86.544" Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datates
string(6) "86.544"
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
string(16) "181.090909090909"
string(5) "0.072"
string(3) "0.0"
string(7) "119.952"
string(3) "0.0"
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
Notice: Undefined property: machine::$sdata in C:\Documents and Settings\jKirkpatrick\My Documents\xammp\htdocs\Datatest.php on line 96
NULL
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`.CODE, `SHOP FLOOR PRODUCTION PLAN`.DESCRIPTION, `SHOP FLOOR PRODUCTION
PLAN`.WONo, `SHOP FLOOR PRODUCTION PLAN`.Quantity, `SHOP FLOOR PRODUCTION
PLAN`.cycletime, `SHOP FLOOR PRODUCTION PLAN`.IMPS, `SHOP FLOOR PRODUCTION
PLAN`.Estimate
FROM `P:\ProductionControl\Production Planning\DATA HUB.mdb`.`SHOP FLOOR PRODUCTION
PLAN` `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->sdata = $this->SDtReading = odbc_result($rs, "cycletime");
}
return@ $this->sdata;
}
这里的数据是预期的结果
86.544
181.0909091
0.072
0
119.952
0
72
32.76
799.992
36
39.6
29.988
该函数是类的一部分,并作为MachinecycleZW01001、ZW01001、0运行;
在查询中,$this->名称将是ZW01001
如果您能帮助调试,我们将不胜感激
while (odbc_fetch_row($rs)) {
$this->sdata = $this->SDtReading = odbc_result($rs, "cycletime");
var_dump($this->sdata);
}
return $this->sdata;
}
这与while循环中的Var dump产生的结果相同,与之前在没有NULL的情况下发布的结果相同
while (odbc_fetch_row($rs)) {
$this->sdata = $this->SDtReading = odbc_result($rs, "cycletime");
}
var_dump($this->sdata);
return $this->sdata;
}
这与Dump out端同时产生的结果与之前发布的结果完全相同。它不能工作,一半工作,一半不工作。这个错误意味着$this->sdata对于某些行是未定义的。但是它提取前6行的数据,并且数据在那里,我不明白为什么它会给出一个错误。您将var_转储行放在哪里了。。?我想知道为什么在第一行和第二行vardump日志之间有一个警告和一个NULL,而在其他行之间没有。varu dump就在return@$this->sdata的上方;拿着电话…它不在while循环中?那么如何获得多个输出?