1、问题:PDOException: SQLSTATE[HY000]: General error: PDO_DBLIB: dbresults() returned FAIL in file /home/www/whad_crm/app/Library/DBaseUtil.php on line 343
可能情况列出:
一、方法并没有到达行PDO::nextRowset()的末尾将失败(我不知道为什么,它只是发生在我身上)。
因此,对于我来说强制扫描所有行 直到PDO::fetch返回false ,然后PDO::nextRowset()将正常执行。
这意味着如果行集中只有一行,则必须至少调用PDO::fetch两次(1表示检索数据,1表示返回false),然后传递给下一行集。
二、您可以通过使用方法检查列数来遵循一个简单的技巧 获取行集之前PDO::columnCount()。如果它不为零,则表示您拥有有效的行集,因此可以调用PDO::fetchAll()。
即使PDO::nextRowset()报告为真,columnCount()也会在移至下一行集之前报告列数。
while ($pdo->columnCount()) {
$data[] = $pdo->fetchAll(PDO::FETCH_ASSOC); //or, $pdo->fetchAll()
$pdo->nextRowset();
}
实际情况:尝试try 抛出异常,处理实际情况中异常
2、更新数据表时,发生了死锁。
报错代码:
原因:设置临时表的主键,更新数据。