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 . '%'"
?
我正在 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 . '%'"
?