gpt4 book ai didi

php/Codeigniter--如何通过排除时间来比较日期

转载 作者:可可西里 更新时间:2023-11-01 08:17:58 25 4
gpt4 key购买 nike

我的数据库表中有一个字段作为日期时间作为 creater_date 并且值以 2013-09-13 02:12:44 的形式存储

>

现在我必须将今天日期(没有时间)与 creater_date 表字段进行比较。

我试过下面的代码,但它显示错误:

 function check_existing_User_weightStatus($u_id)
{
$this->load->database();
$this->load->helper('date');
$today = date('Y-m-d');
$array = array('creater_id' => $u_id,DATE('created_date') => $today);
$this->db->where($array);
$query = $this->db->get('user_weight');
if ($query->num_rows() > 0) {
return true;
} else {
return false;
}
}

获取错误:

 A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '13 Sep 2013 02:48:27 +0530Asia/Calcuttaam30Asia/Calcutta13_13am30Asia/Calcutta '' at line 4

SELECT * FROM (`user_weight`) WHERE `creater_id` = '3235' AND `2013-09-13T02:48:27+05:30Fri,` 13 Sep 2013 02:48:27 +0530Asia/Calcuttaam30Asia/Calcutta13_13am30Asia/Calcutta '2013-09-13'

Filename: D:\xampp\htdocs\webapp\system\database\DB_driver.php

Line Number: 330

我不想和时间比较,我只想和今天比较。字段 created_date(例如 2013-09-13 02:12:44)具有包含一些时间值的 datetime 数据类型。但我只想比较日期

最佳答案

问题是您的代码生成了错误的 SQL 语法,如错误所示。

我不是 codeIgniter 的专家,但这里是如何直接进行普通查询的方法,这可能是您想要做的:

function check_existing_User_weightStatus($u_id)
{
$today = date('Y-m-d');
$this->load->database();
$query = $this->db->query("SELECT * FROM `user_weight` WHERE `creater_id` = '$u_id' AND DATE(`created_date`) = '$today'");

if ($query->num_rows() > 0) {
return true;
} else {
return false;
}
}

您的代码中的错误发生在这一行

$array = array('creater_id' => $u_id,DATE('created_date') => $today);

我很确定这不是 where 子句的完成方式,所以您可以查找 codeIgniter 文档!找到正确的方法来做到这一点! (您没有告诉 where 子句使用 ANDOR 等运算符)

关于php/Codeigniter--如何通过排除时间来比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774521/

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