не может вставить datetime в sql из php [duplicate]

Если «удалить дубликаты» означает «удалить дубликаты, но пусть один там», решение может заключаться в том, чтобы сначала применить array_unique (...) в столбце «идентификатор», а затем удалить в исходном массиве все ключи, которые были удалены из массива столбцов:

  $ array = [['id' = & gt;  '123', 'foo' = & gt;  'aaa', 'bar' = & gt;  'bbb'], ['id' = & gt;  '123', 'foo' = & gt;  'ccc', 'bar' = & gt;  'ddd'], ['id' = & gt;  '567', 'foo' = & gt;  'eee', 'bar' = & gt;  'fff']];  $ ids = array_column ($ array, 'id');  $ ids = array_unique ($ ids);  $ array = array_filter ($ array, function ($ key, $ value) use ($ ids) {return in_array ($ value, array_keys ($ ids));}, ARRAY_FILTER_USE_BOTH);   

Результат:

  Массив ([0] = & gt; Массив ([id] = & gt; 123 [foo] = & gt; aaa [  bar] = & gt; bbb) [2] = & gt; Массив ([id] = & gt; 567 [foo] = & gt; eee [bar] = & gt; fff))  
3
задан GEOCHET 13 March 2009 в 16:45
поделиться

3 ответа

Альтернативный метод PHP 5.2

$datetime = new DateTime($user_date); echo $datetime->format('Y-m-d H:i:s');

DateTime - это Y38k и дружественный по времени.

0
ответ дан John Conde 15 August 2018 в 21:21
поделиться
[F1]
10
ответ дан Paolo Bergantino 15 August 2018 в 21:21
поделиться

Следующий метод, на этот раз на стороне SQL, должен использовать метод convert в вашем запросе sql:

CONVERT(VARCHAR(11),$user_date,111) //e.g. SELECT CONVERT(VARCHAR(11),DATEFIELD,111) AS DATE //or SET DATEFIELD = CONVERT(VARCHAR(11),'".$user_date."',111)

См.: http://www.w3schools.com/sql/func_convert. asp - число в конце изменяет тип формата даты, с возвратом 111: 2006/12/30.

0
ответ дан Simeon 15 August 2018 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: