example-date-with-not-null php mysql examples | w3resource

Функция, чтобы проверить, является ли строка датой

Я пытаюсь написать функцию, чтобы определить, является ли строка датой/временем с использованием PHP. В принципе, действительная дата/время будет выглядеть так:

Очевидно, что хотя его полностью динамическое любое из значений может меняться, но оно всегда должно быть в форме XXXX-XX-XX XX:XX:XX , как я могу написать регулярное выражение для проверки этого шаблона и вернуть true, если оно соответствует.

12 ответов

Если это вся ваша строка, то просто попробуйте ее проанализировать:

if (DateTime::createFromFormat('Y-m-d H:i:s', $myString) !== FALSE) < // it a date >

Это не решение. У меня есть DateTime::createFromFormat(‘m/d/Y’, ’10/38/2013′) и это создает действительный объект DateTime, а не ложь. Дата преобразуется в object(DateTime)#39 (3) < ["date"]=>string(19) «2013-11-07 23:45:55» [«timezone_type»]=> int(3) [«timezone»]=> string(3) «UTC» >

Хлоп. Мне нравится, что эти вещи никогда не упоминаются в документации . Вы случайно не нашли альтернативу? (Редактировать: Дата форматирует документы, которые вы можете переполнять / недогружать месяцами и днями, но не дает подсказки, что делать, если вы не хотите такого поведения.

Хорошо, нет никакого решения или установки, чтобы переопределить это в PHP. Я заметил обходной путь в ответах stackoverflow.com/a/19666600/486863

Это решение действительно не работает нормально для дат, подобных той, которая указана в cj5. Который может быть очень расстраивающим. Я также использовал это решение stackoverflow.com/questions/10120643/…

Здесь используется другой подход без использования регулярного выражения:

function check_your_datetime($x)

Если вы не знаете формат даты:

/** * Check if the value is a valid date * * @param mixed $value * * @return boolean */ function isDate($value) < if (!$value) < return false; >try < new \DateTime($value); return true; >catch (\Exception $e) < return false; >> var_dump(isDate('2017-01-06')); // true var_dump(isDate('2017-13-06')); // false var_dump(isDate('2017-02-06T04:20:33')); // true var_dump(isDate('2017/02/06')); // true var_dump(isDate('3.6. 2017')); // true var_dump(isDate(null)); // false var_dump(isDate(true)); // false var_dump(isDate(false)); // false var_dump(isDate('')); // false var_dump(isDate(45)); // false 

var_dump (IsDate ( ‘теперь’)); // true var_dump (isDate (‘завтра’)); // true var_dump (isDate (‘вчера’)); //правда

var_dump (isDate («R»)) = true. вероятно, не то, что задумано. Я думаю, что это соответствует часовому поясу или что-то.

Я использую эту функцию как параметр для функции PHP filter_var .

  • Он проверяет даты в формате yyyy-mm-dd hh:mm:ss
  • Он отклоняет даты, соответствующие шаблону, но все еще недействительные (например, 31 апреля).
function filter_mydate($s) < if (preg_match('@^(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)$@', $s, $m) == false) < return false; >if (checkdate($m[2], $m[3], $m[1]) == false || $m[4] >= 24 || $m[5] >= 60 || $m[6] >= 60) < return false; >return $s; > 

Хотя у этого есть принятый ответ, он не будет эффективно работать во всех случаях. Например, я проверяю проверку даты в поле формы, которое я использую с датой «10/38/2013», и я получил верный объект DateObject, но дата была тем, что PHP называет «переполненным», так что «10/38/2013» станет «11/07/2013». Имеет смысл, но должны ли мы согласиться с датой реформирования или заставить пользователей ввести правильную дату? Для тех из нас, кто является валидацией формы нацистов, мы можем использовать это грязное исправление: https://stackoverflow.com/questions/10120643/php-datetime-createfromformat-functionality и просто вернуть false, когда объект выдает это предупреждение.

Другим обходным решением будет сопоставление даты строки с форматированным и сравнение двух для равного значения. Это кажется таким же грязным. Ну что ж. Такова природа PHP dev.

Небольшая версия, это может помочь:

Источник

Есть ли функция PHP для проверки нулевой даты

но NULL можно использовать, если столбец даты пуст, если в базе данных хранится «0000-00-00 00:00:00», он не пустой и, следовательно, не NULL.

Я только что предположил, что «нулевая дата» используется в случае, когда дата не установлена состояние. Вот почему я предложил использовать NULL . @Col. Осколок: просто добавьте дополнительное условие для нулей: WHERE date_pub IS [NOT] NULL AND date_pub < NOW() .

@Crozin Мне не нужны никакие дополнительные условия. NULL равен нулю, а нулевое значение равно нулю. НЕ СМЕШАТЬ ИХ

11 ответов

Я думаю, что вам не нужна стенография.
Это своего рода микро-оптимизация.

Вы уже потратили больше времени на задание этого вопроса, чем сможете сэкономить на таком сокращении в год среднего кодирования. Просто напишите и перейдите.
У вас нет более важных проблем?

Кроме того, с такой стенографией вы будете запутывать свой собственный код.
Ваше текущее выражение совершенно ясно, читает «if date is empty»
но все предложенные фрагменты не так понятны. Придя к этому коду спустя несколько месяцев, вы будете озадачены вопросом, если такой монстр кода имеет какое-то особое значение.

То, что вы действительно хотели, — это удобочитаемость. Но у вас это уже есть. Хотя все предлагаемые сокращения не имеют.

Эй, Колнел. Давно не слышал. Я помню, что вы отчитали меня на пару постов некоторое время назад. Приятно видеть, что вы все еще там с таким большим количеством времени, чтобы делать удары по тем из нас, кто хочет исследовать и учиться. Ваши комментарии всегда ожидаются . продолжайте стрелять 🙂

полностью согласен с полковником Шрапнелью. Зачем усердствовать на себя и терять время, пока оно уже работает

@Dr седловине неровная, но он прав — пример вы показываете на сегодняшний день является самым читаемым из сгустка.

Источник

MySQL Date with not null

In this page, we have discussed how to test if a date value is not NULL.

Sample table: newpublisher

SELECT pub_name,pub_city,country,estd FROM newpublisher WHERE estd IS NOT NULL; 

Relational Algebra Expression:

Relational Algebra Expression: Date with not null.

Relational Algebra Tree:

Relational Algebra Tree: Date with not null.

Explanation

The above MySQL statement will filter the rows whose estd date is NOT NULL.

Sample Output:

mysql> SELECT pub_name,pub_city,country,estd -> FROM newpublisher -> WHERE estd IS NOT NULL; +--------------------------+-----------+---------+------------+ | pub_name | pub_city | country | estd | +--------------------------+-----------+---------+------------+ | Jex Max Publication | New York | USA | 1969-12-25 | | BPP Publication | Mumbai | India | 1985-10-01 | | Ultra Press Inc. | London | UK | 1948-07-10 | | Summer Night Publication | New York | USA | 1990-12-10 | | Novel Publisher Ltd. | New Delhi | India | 2000-01-01 | +--------------------------+-----------+---------+------------+ 5 rows in set (0.00 sec)
         
query('SELECT pub_name,pub_city,country,estd FROM newpublisher WHERE estd IS NOT NULL') as $row) < echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; > ?>
Publisher's nameDate of establishmentCurrent dateAGE
" . $row['pub_name'] . "" . $row['pub_city'] . "" . $row['country'] . "" . $row['estd'] . "

Follow us on Facebook and Twitter for latest update.

  • Weekly Trends
  • Java Basic Programming Exercises
  • SQL Subqueries
  • Adventureworks Database Exercises
  • C# Sharp Basic Exercises
  • SQL COUNT() with distinct
  • JavaScript String Exercises
  • JavaScript HTML Form Validation
  • Java Collection Exercises
  • SQL COUNT() function
  • SQL Inner Join
  • JavaScript functions Exercises
  • Python Tutorial
  • Python Array Exercises
  • SQL Cross Join
  • C# Sharp Array Exercises

We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook

Источник

how to check if mysql date is not null in php-mysql

Although it will somewhat depend on what you are pulling back if a date is «null» as you say, but the quickest way is in fact to check it it is null:

if(!is_null($tilattu_pvm3_tulos_result['tilauspvm'])) 

Of course, PHP being what it is, there is a much quicker way:

if($tilattu_pvm3_tulos_result['tilauspvm']) 

If it is null, it will return false.

I am a little lost as well with what field you are trying to validate. In your strtotime, you use the result from the outermost while (and pull the data from $row ) but when you create an if statement, you use $tilattu_pvm3_tulos_result ? Not saying it is wrong, just saying that I don’t follow what you are checking — so you might need to adjust my code to best suit your logic.

More questions

  • How to set date in mysql to null and not to 0000-00-00
  • how to check null or not if mysql datatype is timestamp with a default value of «0000-00-00 00:00»?
  • php mysql how to check NULL column with php
  • How to add not null constraint to existing column in MySQL
  • mysql concate check not null
  • How to check the MySQL JSON column is not contains the value in laravel?
  • How to convert MySQL TIMESTAMP to date time in PHP
  • How to determine if a field is NULL or NOT NULL in mysql workbench gui?
  • How to check if $row[‘column_name’] is returning empty php mysql
  • How to check whether column value is NULL or having DEFAULT value in Mysql
  • How to check whether a mysql select statement result has a value or not in php?
  • How to check if a row exists in MySQL using PHP
  • MYSQL — How to SELECT CASE (two tables, if not present in one, check the other)
  • MySQL : IS NOT NULL check on custom generated column(alias)
  • how to handle null date in c# for mysql without convert them to null
  • How to check the number of consecutive days in a mysql date column
  • how to check if mysql query return no result(record not found) using php?
  • How to check a dates of a date range lies in between two dates in mysql query
  • Fastest way to check how many posts are in a thread with MySQL and PHP
  • how to use PHP to automatically delete from mysql at set date
  • .NET and MySql paramters, AddWithValue NULL variables, how to avoid to check for nulls
  • Login authorization, how to check if the password matches a SALT + HASH — PHP + MySQL
  • How to null check MySQL JSON column property?
  • How to check if the db connection is success or not in node js and mysql
  • How to go from php MySQL sql injection vulnerable query to a MySQLi not vulnerable query
  • How to pass date as a parameter to MySQL Stored Procedure in PHP CodeIgniter?
  • How to generate a MySQL IS NOT NULL condition in CakePHP?
  • How to check if name already in the table? Querying Mysql for sum of each day and then populating an HTML data through PHP with it
  • how to group by a date range in MySQL and not skip dates with zero items
  • php array how to dynamically insert data into mysql table when field names not known in advance?

More questions with similar tag

  • Get row values from foreign key MySQL
  • echo integer from table with mysql
  • How to dump database from mysql with sensitive data removed or corrupted?
  • Dynamically load information to Twitter Bootstrap modal
  • MySQL won’t start after changin my.cf
  • a comma between SELECT statements
  • use GREATEST in MySQL when there are null values
  • MySQL create table: error 1005 errno: 150 “Foreign key constraint is incorrectly formed”
  • What is an efficient way to check a word in a paragraph against the DB?
  • InnoDB: Bulk insert using transaction OR combine multiple queries?
  • MySQL auto-increment problem on master-master replication , and the logic to solve it
  • MySQL: handle EMPTY SET in UPDATE statement
  • Generate SHA-256 passwords with MariaDB
  • Pomelo MySQL (.NET Core) Can’t Recover After Database Failure
  • How can I use one database connection object in whole application?
  • Doctrine DBAL — WHERE IN array with additional parameter
  • MySQL for Python 2.7
  • What is the maximum records I should fetch from a MySQL database?
  • How can I sort by multiple columns but not by value?
  • Display “No matches found” or hide DIV results (AJAX & MySQL)
  • Mysql rank position
  • Are my MySQL connection details safe using this method?
  • Select closest numerical value with MySQL query
  • MySQL Update if value exists, Insert if not in PHP?
  • Undefined Index with PHP code
  • Foreign key constraint not working
  • JQuery Ajax Updating MySQL Database, But Not Running Success Function
  • Use of foreign keys
  • MySQL join question
  • Ajax Chat System sends XHR Finished Loading in console every second

Источник

Читайте также:  Связь php с базой данных
Оцените статью