gpt4 book ai didi

php - PHP 中的日期时间

转载 作者:行者123 更新时间:2023-11-28 23:51:24 24 4
gpt4 key购买 nike

$shippedtime = DateTime::createFromFormat('m/d/y',$csv[$j][3],$timezone);
// $shippedtimeformat = strtotime($shippedtime->format('Y-m-d'));
//$shippedtime2 = $shippedtimeformat->modify('-1 day');
//$shippedtime3 = $shippedtimeformat->modify('-2 day');
//$shippedtime4 = $shippedtimeformat->modify('-3 day');
$name = mysqli_real_escape_string($mysqli, $csv[$j][8]);
//original query
$query = $mysqli->prepare("SELECT * FROM orders where ShippingName = '" . $name . "' AND ShippedTime LIKE '" . $shippedtime->format('Y-m-d') ."%'");

我试图以正确的格式获取过去 3 天的数据,以便我可以在下面的 MYSQL 查询中运行它们。但是,它们都没有以供 MYSQL 使用的正确格式返回。我将如何获得正确的日期格式以便我可以运行查询以便如果名称匹配 AND(发货时间如 %)或(发货时间 -1 如 %)或(当前时间 -2 如 %)或(当前时间 -3喜欢 %)?

最佳答案

我同意@lad2025 你应该绑定(bind)参数。既然你没有要求,我会用一个串联的查询来回答它。如果 orders.ShippedTime 是 DateTime 字段,则不能使用 LIKE。那是针对字符串字段的。相反,请使用 BETWEEN。

$name = str_replace("'", "''", $name) // sanitize $name
$query = $mysqli->prepare(
"SELECT *
FROM orders
WHERE ShippingName = '" . $name . "' AND
ShippedTime BETWEEN '" . $shippedtime->format('Y-m-d') ."' AND
'" . $shippedtime->format('Y-m-d') . " 23:59:59.999'");

注意:如果您没有指定时间,MySQL 会假设当天的午夜。

关于php - PHP 中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32515070/

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