我在 tbl_user 表中有超过 1 个 lac 用户,我想选择所有用户 ID 并使用每个 用户 ID 我正在尝试获取生命周期积分和使用积分,然后为每个用户获取可用积分 如下所述,
$get_all_userid_qry = "SELECT user_id FROM tbl_user WHERE site_id=12345 AND active='1'";
$get_all_userid = $con->fetchAll($get_all_userid_qry);
//echo '<pre>';print_r($get_all_userid);exit();
$available_points_array = array();
$points_threshold_Distribution_data = array();
$userCount = count($get_all_userid);
for($i = 0; $i < $userCount; $i++)
{
$name_points_qry = "SELECT sum(earned_points) as points FROM tbl_points WHERE site_id=12345 AND user_id='".$get_all_userid[$i]->user_id."' ";
$name_points_row = $con->fetchRow($name_points_qry);
$lifetime_points = $name_points_row->points;
//get used points by user
$get_used_points = "select sum(points_used) as used_pts from tbl_claimed WHERE site_id=12345 AND user_id='".$get_all_userid[$i]->user_id."' ";
$get_used_points_row= $con->fetchRow($get_used_points);
$used_points = $get_used_points_row->used_pts;
$available_points = $lifetime_points - $used_points;
$available_points_array[] = $available_points;
}
但是,我发现很难从 tbl_user 中选择所有用户 ID,因为我的 sql 连接在两者之间超时,并且当我使用 print_r() 时它没有显示完整的结果数组。
请建议如何选择如此大量的数据。
最佳答案
就在您开始的 php 标记之前输入:
ini_set('memory_limit', '2048M');
或者您可以在您的 htaccess 文件中添加这一行:
php_value memory_limit 64M
希望对您有所帮助!
关于php - 获取大数据时mysql连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697151/