是否可以通过打开第二个连接来绕过mysql_unbuffered_query()一次运行一个查询的限制?
例如,下面的代码给出了错误:
mysql_select_db():被调用的函数没有首先从之前的无缓冲查询中提取所有行
$feedData = mysql_unbuffered_query($sql, $this->_unbufferedDbManager->db->connection);
while ($record = mysql_fetch_assoc($feedData)) {
File::fputcsv($this->_fileHandle, $record, $this->delimiter, $this->enclosure);
$sql = "UPDATE transactions
SET feed_transmit_date = '$this->today'
WHERE transaction_id = " . $record['transaction_id'];
$this->dbManager->DbQuery($sql);
print_r($this->_unbufferedDbManager->db->connection);
print_r($this->dbManager->db->connection);
}
最后输出的两个print_r():资源id #637Resource id #639
DbManager是一个旧的pear数据访问层
注意:我本可以使用mysql_unbuffered_query标记,但是我最近打开了一个奖励,使我不具有“创建新标记”权限。
发布于 2011-05-19 04:12:13
根据PMV的建议,我写下了这个答案。总而言之,这是不同的数据库类使用相同连接的问题,尽管它们报告了不同的资源ids。有关更多信息,请参阅问题的评论。
https://stackoverflow.com/questions/5984692
复制相似问题