【问题标题】:Why is dbTimeStamp() adding a comma?为什么 dbTimeStamp() 添加逗号?
【发布时间】:2021-04-19 01:35:38
【问题描述】:

我有以下代码:

$NOW = $db->dbTimeStamp(time());

在查询中使用它会产生这样的时间戳:

2021-01-13, 08:17:06PM

但是,该逗号似乎导致 SQL Server 2005 中的查询失败。有没有办法让它不包含该逗号。

我正在使用 odbc 驱动程序连接到 SQL Server 2005 的 Debian 10 上运行 PHP 7.4。

编辑:这是我在查询中使用它的方式:

$sql = "UPDATE podocument SET deleted = '1', lastseen = {$NOW} WHERE (purchaseOrderId = '{$purchaseOrderId}')";
$res = $db->execute($sql);

【问题讨论】:

  • 哇,SQL 2005。你知道,它的生命周期已经结束了 5 年多,现在可能容易受到几十个漏洞的攻击。至于在 SQL 查询中使用该值,您是否可以不只是重写查询以使用 GETDATE() T-SQL 函数,因为您似乎只是获取当前日期和时间?
  • 究竟如何在查询中使用它?显示您的代码。
  • @MartinCairney 这是我接管的遗留系统,我正在努力对其进行升级。但是,我不能使用GETDATE() 的原因是有时我需要用我从外部收到的日期/时间字符串替换time()
  • @MitchWheat 我没有使用 Yii 或 PDO,所以我不确定这与这个问题有什么关系?

标签: sql-server sql-server-2005 adodb-php


【解决方案1】:

达雷尔

您可以使用here 中描述的date() 函数并使用"Ymd H:i:s" 格式字符串,而不是使用time() 函数

在 SQL Server 中始终可以正确识别使用此格式字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2011-04-14
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多