遇到個(gè)奇怪的問(wèn)題,onworkerstart中無(wú)法用fetch()獲取sql返回的數(shù)據(jù),試了n種方法,最后沒(méi)轍了把讀取數(shù)據(jù)的代碼復(fù)制出來(lái),網(wǎng)頁(yè)打開(kāi)正?!?br />
檢查了擴(kuò)展,cli下的pdo_dblib正常,查了數(shù)據(jù)庫(kù),查詢和insert into都有執(zhí)行。
下面第一段運(yùn)行正常,第二段while循環(huán)沒(méi)執(zhí)行
<?php
//phpinfo();
$db = new PDO("dblib:host=192.168.17.5;dbname=test","test","usertest");
$sql = "select * from t_unit where unit_id=10";
$rs = $db->query($sql);
while($row =$rs->fetch())
{
print($row['1']."<br>");
}
?>
public static function onWorkerStart($worker)
{
global $db;
$db = new PDO("dblib:host=192.168.17.5;dbname=test","test","usertest");
if ($worker->id === 0)
{
Timer::add('10',function()
{
$sql = "select * from t_unit where unit_id=10";
$rs = $db->query($sql);
while($row = $rs->fetch())
{
Gateway::sendToGroup("monitor",$row['1']);
}
});
}
}
沒(méi)什么奇怪的,你定時(shí)器沒(méi)用對(duì),自己設(shè)置好錯(cuò)誤等級(jí)對(duì)著文檔琢磨一下,定時(shí)器