遇到個奇怪的問題,onworkerstart中無法用fetch()獲取sql返回的數(shù)據(jù),試了n種方法,最后沒轍了把讀取數(shù)據(jù)的代碼復(fù)制出來,網(wǎng)頁打開正?!?br />
檢查了擴展,cli下的pdo_dblib正常,查了數(shù)據(jù)庫,查詢和insert into都有執(zhí)行。
下面第一段運行正常,第二段while循環(huán)沒執(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']);
}
});
}
}