从mssql服务器获取日期

时间:2016-02-14 23:14:24

标签: php sql-server datetime

我有这个脚本,有点最简单的发布到我的数据库 它看起来像这样:最令人讨厌的部分是我猜的日期,因为我遇到了问题

<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$head =  $_POST['title'];
$bread = $_POST['html'];
$author = $_POST['selectlist1'];
$postdate = date('Y-m-d H:i:s');
$cat = $_POST['selectlist2'];

$db = new PDO('sqlsrv:server=localhost;Database=blog', '******', '*******');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = 'INSERT INTO dbo.blog_posts (blog_title, blog_post, blog_author, blog_date, blog_category) VALUES (:head, :bread, :author, :postdate, :cat)';

$query = $db->prepare( $sql );
$query->execute( array(':head'=>$head, ':bread'=>$bread, ':author'=>$author, ':postdate'=>$postdate, ':cat'=>$cat ) );

?>

blog_date列是&#34; datetime&#34;默认值为(getdate())

我的脚本中有趣的部分,用于从db获取值:

 $result = sqlsrv_query($con,"SELECT TOP 10 * FROM blog_posts ORDER BY blogID DESC");
                while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_BOTH)) 
echo $row['blog_date']

错误:

  

捕获致命错误:无法转换类DateTime的对象   在第52行的C:\ inetpub \ wwwroot \ blog \ index.php中输入字符串

尝试了许多不同的解决方案,但我似乎无法按预期工作,它将正确的值存储在数据库中

1 个答案:

答案 0 :(得分:1)

尝试改变这一点:

echo $row['blog_date'];

为:

echo date_format($row['blog_date'], 'Y-m-d H:i:s');