Это меня несколько раз поймало.
Надеюсь, это поможет вам, как и мне самому:)
http://af -design.com / blog /2010/03/13 / microsoft-sql-server-driver-for-php-return-datetime-object /
Вот суть того, что говорит эта страница в случае, если ссылка не работает.
При запросе к столбцу, определенному как datetime
, расширение собственного PHP-сервера PHP возвращает строку, где в качестве расширение Microsoft возвращает DateTimeобъект.Поэтому, если вы ожидаете строку, вам необходимо соответствующим образом скорректировать код.
Далее поясняется, что вы можете просто добавить дополнительный параметр к вашим запросам к базе данных, указав, что выхотите, чтобы ваши даты были возвращены в виде строк. Просто добавьте параметр ReturnDatesAsStrings
, указав true
.
Пример:
$connectionParams = array(
'USR'=>'user',
'PASS'=>'pass',
'Database'='myDatabase',
'ReturnDatesAsStrings'=>true //<-- This is the important line
);
$conn = sqlsrv_connect('127.0.0.1',$connectionParams);
Затем вы можете использовать $conn
, как это обычно делается для вашего sqlsrv.При подключении к базе данных в качестве строк будут возвращаться только даты, а не объекты DateTime.
Альтернативно , если все, что вам нужно, это отметка времени вне даты / времени, которую вы можете вызвать:
$myDateTimeObject->getTimestamp();