Я создаю функцию для получения статистики по различным игрокам из базы данных, и мне нужно иметь возможность указать шкалу времени для статистики в качестве одной из переменных функции - это будет что-то вроде «месяц» илиyear..
Есть идеи, что я делаю не так?Или это просто ограничение bindParam()
?
function get_player_stats($player_id, $timescale) {
global $pdo;
$query = $pdo->prepare('
SELECT count(results.winner)
FROM results
WHERE results.winner = :player_id
AND EXTRACT(:timescale FROM results.date) = EXTRACT(:timescale FROM NOW())
LIMIT 1
');
$query->bindParam(':player_id', $player_id);
if ($timescale = 'this_month') {
$query->bindParam(':timescale','YEAR_MONTH');
}
else if ($timescale = 'this_year') {
$query->bindParam(':timescale','YEAR');
}
$query->execute();
return $query->fetchAll(PDO::FETCH_OBJ);
}
PS Это база данных MySQL