引自免费微信小程序:皆我百晓生
根据您提供的错误信息,问题似乎出现在您的数据库查询语句中。具体的错误提示是SQL语法错误,特别是在处理时间范围查询时。让我们来分析一下可能出现的问题及解决方案。
问题点:
- SQL语句中的时间范围比较存在问题。在您的代码中,您使用了
where("$midnight_today", ">=", "updatetion")和where("updatetime", "<=", "$end_of_day")这样的语句,但这两个条件似乎没有正确地组合在一起。此外,“updatetion”似乎是一个拼写错误,应该是“updateTime”。 - 在使用数组进行数据库查询时,可能存在语法错误或不正确的使用方式。在您的代码中,您尝试将
$uid数组的每个元素作为单独的查询条件,但这种方式可能不适用于您的数据库查询需求。
解决方案:
针对上述问题,您可以尝试以下修改:
- 确保时间范围的查询条件正确组合。您可以使用
BETWEEN关键字来指定时间范围。修改后的查询可能如下所示:
$game_expenditure_apply = Db::table('game_expenditure_apply')
->where('user_id', $val)
->where('updatetime', '>=', $midnight_today)
->where('updatetime', '<=', $end_of_day)
->select();
注意:确保您的数据库字段和PHP变量名称匹配,且数据库字段是可以接受这些日期时间格式的。
- 重新审视
$uid数组的使用方式。如果您的意图是从game_user_money_log表中的uid字段获取多个用户ID,并在game_expenditure_apply表中进行查询,您可能需要重新组织查询逻辑。例如,您可以使用in条件来查询多个用户ID:
$uids = array_column($grade, 'uid'); // 从 $grade 数组中提取所有 uid 值
$game_expenditure_apply = Db::table('game_expenditure_apply')
->whereIn('user_id', $uids) // 使用 in 条件查询多个用户ID
// 其他查询条件...
->select();
请尝试上述修改,并检查是否解决了您的问题。如果问题仍然存在,请提供更多关于数据库结构、表字段和完整查询逻辑的详细信息,以便我能更准确地帮助您解决问题。
