PHP How to return datetime(6) from Mysql?
datetime, mysql, php, sql
Solution
The problem is with the PHP Adapter you are using to communicate with Mysql. As far as I can see you are using PDO adapter to fetch the query result. However, this adapter does not support fractional seconds (YYYY-MM-DD HH:MM:SS.F).
The PDO adapter supports YYYY-MM-DD HH:MM:SS and automatically formats the value of datetime columns to this format.
This is a bug in PDO adapter itself. Please find the link below for reference: http://grokbase.com/t/php/php-bugs/11524dvh68/php-bug-bug-54648-new-pdo-forces-format-of-datetime-fields
Problem
When I query a dateTime(6) PHP is truncating my 6 fractional seconds. Here is an example of my php code: ``` $sql = 'SELECT date FROM tbl'; $statement = $connection->prepare($sql); $statement->execute(); $statement->store_result(); $statement->bind_result($date); while ($statement->fetch()) { echo $date."\n"; } ``` This returns 2014-01-08 21:31:15 instead of 2014-01-08 21:31:15.995000 which is what is stored in the table. How can I get what is actually stored in the table?