【问题标题】:Getting a date from mssql server从 mssql 服务器获取日期
【发布时间】:2016-02-14 23:14:24
【问题描述】:

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

<?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 列是“datetime”,默认值为 (getdate())

我的脚本中有趣的部分是从数据库中获取值:

 $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 中字符串

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

【问题讨论】:

  • 你能告诉我第 52 行是什么吗?
  • @Merijndk 它是 echo $row['blog_date']
  • 您缺少一个“;”在那一行之后?
  • @Merijndk 不,我只是没有明显地复制它:/

标签: php sql-server datetime


【解决方案1】:

尝试改变这个:

echo $row['blog_date'];

到:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多