php - 无法在 MySQL 上使用 PDO 设置当前 _timestamp 或 now()

标签 php mysql timestamp pdo

我在我正在构建的 Web 应用程序中使用 PDO 准备语句。我有一个时间戳列设置为 current_timestamp 作为默认值。

使用时间戳通常应该在列值为 null 时分配当前时间戳,就像 now() 一样。但无论我尝试什么,如果我将时间戳列设置为 null 和 0000-00-00 00:00:00 如果我使用 now(),我都会得到 NULL 值。使用普通查询工作得很好。

我将参数作为关联数组发送,然后在 PDOStatement 上使用带有 bindValue 的 foreach。在出现此问题之前,它一直运行良好。我尝试了 debugDumpParams,但它崩溃得非常厉害。这似乎是 5.2.6 的一个已知错误,Ubuntu 尚未更新软件包。我宁愿避免绕过 aptitude 和从源代码安装 php 的麻烦,因为我什至不确定 debugDumpParams 是否有帮助...

最佳答案

5 年后仍然是一个问题...

如果您不想执行 SQL 请求,另一种解决方案是直接在 PHP 中设置值,如下所示:date("Y-m-d H:i:s", time())

关于php - 无法在 MySQL 上使用 PDO 设置当前 _timestamp 或 now(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1563146/

相关文章:

php - $_SERVER 变量的编码,如 $_SERVER ['REQUEST_URI' ]

c# - c#中的sql查询

performance - 如何在 react 原生生产构建中访问 global.nativePerformanceNow()?或任何其他测量时间戳的方法

java - 为平台中立的消费保留时间戳的首选方式

php - 通过 DOMDocument 获取链接标签

php - 从 PHP 类回显变量

javascript - 使用 php 提交表单

php - 无法以正确的顺序显示 mysqli 数据库结果

python - 通过 Python 连接远程 MySQL 数据库

javascript - 即使客户端时间错误,也能从客户端获取正确的纪元时间