当我查询 dateTime(6) 时,PHP 截断了我的 6 小数秒。
这是我的 php 代码示例:
$sql = 'SELECT date FROM tbl';
$statement = $connection->prepare($sql);
$statement->execute();
$statement->store_result();
$statement->bind_result($date);
while ($statement->fetch())
{
echo $date."\n";
}
这将返回 2014-01-08 21:31:15 而不是表中存储的 2014-01-08 21:31:15.995000。如何获取表中实际存储的内容?
最佳答案
问题出在您用来与 Mysql 通信的 PHP 适配器上。据我所知,您正在使用 PDO 适配器来获取查询结果。但是,此适配器不支持小数秒 (YYYY-MM-DD HH:MM:SS.F)。
PDO 适配器支持 YYYY-MM-DD HH:MM:SS 并自动将日期时间列的值格式化为此格式。
这是 PDO 适配器本身的错误。请找到以下链接以供引用: http://grokbase.com/t/php/php-bugs/11524dvh68/php-bug-bug-54648-new-pdo-forces-format-of-datetime-fields
关于PHP如何从Mysql返回日期时间(6)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026570/