gpt4 book ai didi

php - 从php向mysql填充一段时间的日期

转载 作者:行者123 更新时间:2023-11-29 17:14:29 26 4
gpt4 key购买 nike

我有一个包含以下列的 mysql 表:日期,公里

我想制作一些带有日期的行,例如。 2018年1月1日至2018年2月20日。

“Km”列必须包含值 0。

如何使用 PHP 和 mysql 执行此操作?

我无法完成这项工作:

<?php
$DateQuery = "

CREATE PROCEDURE fill_calendar(start_date Date, end_date Date)
BEGIN
DECLARE crt_date Date;
SET crt_date=start_date;
WHILE crt_date < end_date DO
INSERT INTO run VALUES(crt_date);
SET crt_date = ADDDATE(crt_date, INTERVAL 1 DAY);
END WHILE;
END

";

// Perform Query
$result = mysql_query("CALL fill_calendar('2018-01-01', '2018-02-20')");
?>

最佳答案

不知道为什么你需要一个存储过程。您所需要的只是一个 INSERT 查询,例如

$period = new DatePeriod(
new DateTimeImmutable('2018-01-01 00:00:00'),
new DateInterval('P1D'),
new DateTimeImmutable('2018-02-20 23:59:59')
);

$values = implode(',', array_map(
function(DateTimeInterface $dt) {
return sprintf('(%s)', $dt->format('Y-m-d'));
},
iterator_to_array($period)
));

echo "INSERT INTO run VALUES $values";

这将打印(为简洁起见,省略了一些值)

INSERT INTO run VALUES (2018-01-01),(2018-01-02),[…],(2018-02-20)

然后您可以使用您选择的数据库库对数据库执行该操作。

关于php - 从php向mysql填充一段时间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704521/

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