На всякий случай, если это кому-нибудь поможет в будущем ...
Проблема заключалась в том, что поле базы данных имело тип char, а не целое число.
Так что даже с явным объявлением в PHP, MySQL продолжал рассматривать его содержимое как строку.
Он читался как:
$y = $conectarDB->prepare("
SELECT DISTINCT SQL_CACHE
contenidos.contenidoID AS contID,
titulo,
fecha,
tipoContenidoID
WHERE fecha > '1577847600'
ORDER BY contenidoID DESC
");
Вместо:
$y = $conectarDB->prepare("
SELECT DISTINCT SQL_CACHE
contenidos.contenidoID AS contID,
titulo,
fecha,
tipoContenidoID
WHERE fecha > 1577847600
ORDER BY contenidoID DESC
");
Итак, вместо того, чтобы просто использовать:
$y->bindParam(1, $fecha);
Я изменил его на:
$y->bindParam(1, $fecha, PDO::PARAM_INT);
Чтобы MySQL понял, что это действительно целое число.