Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql PDOException:基于时间戳列中的日期的数据_Mysql_Pdo - Fatal编程技术网

Mysql PDOException:基于时间戳列中的日期的数据

Mysql PDOException:基于时间戳列中的日期的数据,mysql,pdo,Mysql,Pdo,我不太清楚这为什么不起作用。我读了很多帖子,但还是没能成功 我可以在准备好的语句中使用“to_char”吗 global $db; $st = $db->prepare("SELECT * FROM info WHERE To_char(timestampColumn, 'YYYY-MM-DD') = '$NewDateToQuery'

我不太清楚这为什么不起作用。我读了很多帖子,但还是没能成功

我可以在准备好的语句中使用“to_char”吗

    global $db;
    $st = $db->prepare("SELECT * 
                        FROM info
                        WHERE To_char(timestampColumn, 'YYYY-MM-DD') = '$NewDateToQuery' 
                        ORDER BY timestampColumn DESC");

    $st->execute();
这是一件非常简单的事情——根据日期从时间戳列中选择(我使用jQueryUIDatePicker来选择日期)

非常感谢您的帮助。很抱歉,这可能会显示为一个副本。。。我已经阅读了另一篇帖子,以及开始提问时建议的所有帖子。然而,我无法得到答案

最好的

更新

当前$NewDateToQuery看起来是YYYY-MM-DD。如果我在表中添加已知记录的实际小时:分钟:秒,它将返回正确的信息。 我是否应该将时间戳列拆分为两列(一列表示日期,另一列表示时间)?我认为这不是最有效的方法


再次感谢。

为什么要在何处使用字符

试试这个

$st = $db->prepare("SELECT date_format(`timestampColumn`, '%Y-%m-%d')  as myDate
                        FROM info
                        WHERE timestampColumn= '$NewDateToQuery' 
                        ORDER BY timestampColumn DESC");

这不简单。。。遗憾的是,我花了一整天的时间才把它做好。 如果您需要从时间戳列中选择一个特定的日期,则可以使用此选项

只需将列包装为按日期()有条件地查询即可。见下文$NewDateToQuery是以下格式的字符串YYYY-MM-DD

$st=$db->prepare(“选择时间戳列 来自信息 其中日期(timestampColumn)=“$NewDateToQuery”
按时间顺序(列描述)

您的列是Unix时间戳还是Y-d-m H:I:s?你选择约会的格式是什么?Y-d-m H:I:s。对于格式,我将其命名为YYYY-MM-DD,日期显示在我的时间戳列中。to_char继续抛出错误“未捕获异常'PDOException',消息'SQLSTATE[42000]:语法错误或访问冲突:1305函数la_macarena.to_char不存在”