PDO - Return 日期列等于本月的所有行,但日期格式为 unix 时间戳

PDO - Return all rows where date column equals this month, however date is formatted as unix timestamp

我正在 PHP 中试验与 MySQL 的 PDO 连接。

$thismonth = date('Ym');
print ($thismonth);

= 201502

我想获取时间戳列(包含 unix 时间戳)等于上述字符串(在某种即时转换之后)的所有行,或者可能是另一种 return 当前月份的方式。

try {
    $sql = $conn->prepare('SELECT id, domain, date FROM `domains` WHERE `date` = :thismonth ');
    $sql->bindParam(':thismonth', $thismonth);
    $sql->execute();
    $results = $sql->fetchAll(PDO::FETCH_ASSOC);
    $conn = null;
    } catch (PDOException $e) {
        print "\n" . "Error!: " . $e->getMessage() . "\n";
        die();
    }
    var_dump($results);

我知道以上方法行不通。并且可能会大错特错。 :thismonth 参数可以进行动态比较吗?任何指向正确方向的帮助将不胜感激。

您需要查找 MySQL date/time 函数和书签的文档,因为它非常有用:

.... where MONTH(FROM_UNIXTIME(`date`)) = MONTH(NOW())

你试过了吗"WHERE date LIKE :thismonth . '%'"