gpt4 book ai didi

PHP:从 MySQL 中删除时间已过到期日期且 id 不等于 1 的行

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

while($data = mysqli_fetch_array($rex)){
if($data['expiry']!=null){
$id = $data['id'];
$del = "DELETE FROM $itemlist (WHERE id = $id) AND (STR_TO_DATE(expiry,'%a %d-%M-%Y%H:%i:%s')<=CURRENT_TIMESTAMP)";
if (mysqli_query($conn, $del)) {
continue;
}

这是我到目前为止所尝试过的,但没有任何效果;没有行被删除。我将到期日期存储在 VARCHAR 中,例如 Mon 27-Mar-2017 23:11:50 并将该列设置为可为空。我不想对 id = 1 的行或过期日期为空的行执行任何操作。我缺少什么?如果我删除它,我可以重新排列从id 2开始自动递增的id而不删除id 1吗?谢谢:)

最佳答案

当您像这样使用 STR_TO_DATE 函数时,它将返回 null - (STR_TO_DATE(expiry,'%a %d-%M-%Y%H:%i:%s')用于您的到期日期格式。

你可以这样尝试吗?

if($data['expiry']!=null) {
$id = $data['id'];
$expiry_date = date('Y-m-d H:i:s', strtotime($data['expiry']));
$del = "DELETE FROM $itemlist WHERE id = $id AND $expiry_date<=CURRENT_TIMESTAMP)";
if (mysqli_query($conn, $del)) {
continue;
}
}

关于PHP:从 MySQL 中删除时间已过到期日期且 id 不等于 1 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43052030/

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