Вы хоть сами поняли что написали, там не нужен стрип_тагс, там останутся и так только цифры
$where = '';
if(!empty($filter_time)) $where =" and date_created > now()-Interval :filter_time minute ";
if(!empty($filter_category))
$where.= "and path LIKE ':filter_category%' ";
$sql = Yii::$app->db->createCommand("SELECT COUNT(*) FROM Pages
JOIN categories ON categories = id_categories WHERE status = 1 $where")
->bindValue(':filter_time', $filter_time)
->bindValue(':filter_category', $filter_category)
->queryScalar();
$whereв запросе?
убейте того кто его написал
Зачем использовать framework если не использовать AR и другие его плюшки?
Пример из доков:
$post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id AND status=:status')
->bindValue(':id', $_GET['id'])
->bindValue(':status', 1)
->queryOne();
1) даже, при вводе числа, на сервер прийдет строковый тип данных и нормальной практикой, считается принудительно делать типизацию данных, а не надеяться на движок;
2) вы, не можете знать, что пользователь будет писать; безусловно, после этого идет валидация данных, но, даже после валидации - пишут $a=(int) $a;
3) strip_tags- фактически, обязательно писать , ecли не пользоваться фреймворками, там, есть, как правило, готовые ф-ции для этого.