Php Laravel 4.2查询错误-当其他未缓冲查询处于活动状态时,无法执行查询
因此,使用Laravel4.2,我试图在一个包含600000条记录的大型数据库上运行一个查询。执行此操作时,我得到以下错误:Php Laravel 4.2查询错误-当其他未缓冲查询处于活动状态时,无法执行查询,php,mysql,laravel,laravel-4,pdo,Php,Mysql,Laravel,Laravel 4,Pdo,因此,使用Laravel4.2,我试图在一个包含600000条记录的大型数据库上运行一个查询。执行此操作时,我得到以下错误: SQLSTATE[HY000]:一般错误:当其他未缓冲查询处于活动状态时,2014无法执行查询。考虑使用pdoCalp::FutAccess()。或者,如果您的代码只在mysql上运行,您可以通过设置PDO::mysql_ATTR_USE_BUFFERED_query属性来启用查询缓冲。(SQL:从'UserLog'中选择'username','timestamp','i
SQLSTATE[HY000]:一般错误:当其他未缓冲查询处于活动状态时,2014无法执行查询。考虑使用pdoCalp::FutAccess()。或者,如果您的代码只在mysql上运行,您可以通过设置PDO::mysql_ATTR_USE_BUFFERED_query属性来启用查询缓冲。(SQL:从'UserLog'中选择'username','timestamp','ip','appID',其中'id'>1179525)
这是我的密码:
public static function getUserLogData()
{
$getUsers = DB::connection('PORTAL2')->table('UserLog')
->select('username', 'timestamp', 'ip', 'appID')
->where('id', '>', '1179525')
->get();
$numOfRowsReturned = count($getUsers);
if($numOfRowsReturned>0)
{
return $getUsers;
}
return 0;
}
为了解释这个神奇的数字1179525,我使用ID尝试只选择10行,因为1179525之后只有10行ID
当代码如下所示时,查询工作正常(尽管我希望选择~500行,而不是1行):
有关如何解决此问题的任何想法?请使用->take(10)
或任何数字来指定返回行数的限制,而不要使用->get()->first()
实际上是->take(1)
另外,使用
`if (!empty($getUsers))`
对于大型数据集,它将更加高效,并且能够完成您想要做的事情。count()将遍历数组,empty()将仅检查它是否为null或长度为0。read
`if (!empty($getUsers))`