Я использую PostgreSQL 9.6 и PHP 7.x.
Я хочу проверить правильность формата даты и времени PostgreSQL, полученного от пользователя.
Я посмотрел на этот документ.
Я пробовал это
<?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
У меня вопрос, как это проверить.