gpt4 book ai didi

php - 在同一日期范围内,工作台和 PHP 脚本之间的 SQL 查询结果不同

转载 作者:行者123 更新时间:2023-11-29 11:32:49 25 4
gpt4 key购买 nike

我有一个 PHP 脚本,可以帮助我制作一些财务报告,例如资本、利润、总销售商品、2 个日期之间的商店总商品数:

$result[] = 0;
$res[] = 0;
$fetchStat[]=0;
if(isset($_POST['generate_capital']))
{
$from_d = $_POST['from_d'];
$to_d = $_POST['to_d'];
$stat = "SELECT sum(sell_quantity*(sell_price-init_price)) AS 'rebeh', sum(init_price*(quantity-sell_quantity)) AS 'capital', sum(sell_price*sell_quantity) AS 'profits', sum(quantity) AS 'total_item', sum(sell_quantity) AS 'total_sell' FROM purchases WHERE date_now BETWEEN :d1 AND :d2";
$stmtStat = $conn->prepare($stat);
$stmtStat->bindValue(':d1', $from_d);
$stmtStat->bindValue(':d2', $to_d);
$execStat = $stmtStat->execute();
$fetchStat= $stmtStat->fetchAll();
}

现在,MySQL Workbench 中的相同查询将给出特定结果:

SELECT sum(sell_quantity*(sell_price-init_price)) AS 'rebeh', 
sum(init_price*(quantity-sell_quantity)) AS 'capital', sum(sell_price*sell_quantity) AS 'profits',
sum(quantity) AS 'total_item',
sum(sell_quantity) AS 'total_sell'
FROM purchases WHERE date_now BETWEEN '2016-02-02' AND '2016-05-09'

结果是:

enter image description here

并且 PHP 脚本中具有相同日期范围的相同查询将给我其他值:

enter image description here

我已将阿拉伯语关键字更改为英语关键字,以便您可以看到差异。

感谢任何帮助。

编辑:添加 2 个日期的 var_dump 结果 enter image description here

最佳答案

就目前情况而言,最可能的原因是您的日期格式中月份和日期的顺序错误,对于 2 月 2 日来说,这并不重要,但对于 5 月 9 日来说,那就会了变成 9 月 5 日。

现在,直接运行查询时不包含 5 月 9 日的数据的原因是,该日期实际上是该日期的午夜,因此当该日期位于某个日期的末尾时,该日期不包括该日期。之间。

可能还有其他东西,所以如果这不起作用,请尝试在每个点回显所有值,直到您确切知道正在运行什么,并且它应该变得清晰。

澄清一下,当在日期中使用“/”时,MySQL 使用以下格式:

'%d/%m/%Y'

这可以解释为什么在文本框中输入字符串时它会起作用。

关于php - 在同一日期范围内,工作台和 PHP 脚本之间的 SQL 查询结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37117930/

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