gpt4 book ai didi

php - 日期时间字段不会在 MySQL 中更新时更改

转载 作者:行者123 更新时间:2023-11-29 03:42:56 24 4
gpt4 key购买 nike

<分区>

我已经建立了一个数据库,这是其中一个表:

+-------------------------+------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+------------+------+-----+---------------------+-------+
| id | char(23) | NO | PRI | NULL | |
| claim_date | timestamp | NO | | CURRENT_TIMESTAMP | |
| banned | tinyint(1) | NO | | NULL | |
| available_downloads | tinyint(4) | NO | | 10 | |
| last_download_attempt | datetime | NO | | NULL | |
| last_activation_attempt | datetime | NO | | NULL | |
| download_exp_date | timestamp | NO | | 0000-00-00 00:00:00 | |
| available_activations | tinyint(4) | NO | | 5 | |
| os_version | tinyint(1) | NO | | NULL | |
+-------------------------+------------+------+-----+---------------------+-------+

问题是:每当我尝试使用 mysqli_stmt 和 mysqli->query() 用新值更新记录时,除了日期时间值之外,所有值都会发生变化。我正在使用的查询是

$stmt = $this->db->prepare('UPDATE licences SET available_activations=available_activations-1, last_activation_attempt=? WHERE id=?');
$stmt->bind_param("ss", date("Y-m-d H:i:s"), $licence_id);
$stmt->execute();

available_activations 值减少,但 last_activation_attempt 不会改变。我什至尝试对时间值进行硬编码(“Y-m-d H-i-s”和时间戳格式),我尝试将数据类型更改为时间戳,但它仍然死了。当我在 mysql 控制台中输入相同的查询时,它工作正常,但 php 似乎无法处理它。在这种情况下我能做什么?

更新最奇怪的是 - 这段代码被称为外部应用程序的类方法,当我从自定义 php 代码调用它(方法)时它工作正常(available_activations 和 last_activation_attempt 值都已更改),但是当我使用它时应用程序只有 available_activation 值发生变化。它使用 $_POST 数据。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com