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

时间:2015-02-11 22:25:20

标签: php mysql pdo

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

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

= 201502

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

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参数是一个即时比较?任何指向正确方向的援助都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

您需要查找MySQL日期/时间函数的文档并将其标记为因为它非常有用:

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

答案 1 :(得分:0)

您是否尝试过"WHERE date LIKE :thismonth . '%'"