【发布时间】:2018-11-16 09:33:26
【问题描述】:
我正在使用 PostgreSQL 9.6 和 PHP 7.x。
我想检查从用户那里收到的 PostgreSQL 日期时间格式的有效性。 我查看了this 文档。
我试过了
<?php
$format = 'YYYY-MM-DD';
$query = $db->prepare("SELECT TO_CHAR(NOW(), '" . $format . "') AS DATETIME");
if($query->execute()) {
echo 'valid';
else
echo 'invalid';
//Result valid;
<?php
$format = 'abcdefg';
$query = $db->prepare("SELECT TO_CHAR(NOW(), '" . $format . "') AS DATETIME");
if($query->execute()) {
echo 'valid';
else
echo 'invalid';
//Result valid
它没有按我的意愿工作。
因为无论格式是否有效,查询都有效。
例子
//sql
SELECT TO_CHAR(NOW(), 'YYYY-MM-DD') AS DATETIME;
//query executed
//Result
2018-11-16
//sql
SELECT TO_CHAR(NOW(), 'abcdefg') AS DATETIME;
//query executed
//Result
aad6efg
我的问题是如何检查。
【问题讨论】:
标签: php sql postgresql postgresql-9.6