php - Oracle 数据库未使用 PHP 正确排序日期
问题描述
我有一个包含信息的 oracle 数据库,我想创建一个简单的搜索站点,用户可以在其中从数据库中搜索必要的信息。一切都好,但是当我按日期订购时,我得到 01.01.1970 日期。但是我选择的日期会返回所有内容。
我用来从 Oracle DB 获取数据的 PHP:
$s = oci_parse($conn, 'select ADRESS, DATE from IECERES_VW order by DATE desc fetch first 10 rows only');
oci_set_prefetch($s, 7);
oci_execute($s);
$results = array();
while($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS)) { $result[] = $row; }
这是输出代码的样子:
<td nowrap class="text-center p-1"><?php echo date("d.m.Y",strtotime($row['DATE'])); ?></td>
<td nowrap class="text-center p-1"><?php echo "-"; ?></td>
<td nowrap class="text-center p-1"><?php echo $row['ADRESS']; ?></td>
我用 oracle 尝试了多个日期函数,但都做同样的事情,只是日期排序不正确。
解决方案
经过几天的麻烦,我设法找到问题所在。有人输入了 Null 值的日期,并且由于表中有数百万个数据,我什至没有考虑检查这些值,因为我认为一切都是正确的。这个简单的问题花了很多时间。但也感谢所有提出好想法的人。
推荐阅读
- android - configuration.setLocale(locale) 不适用于 AppCompatDelegate.setDefaultNightMode
- python - 通过合并两列重新索引 pandas 数据帧
- c - skb_header_pointer 和 skb_transport_header 的区别?
- awk - 在多行匹配后追加文本行并在第一个多行匹配时停止
- sql - 使用 SQL Server:如何在父子关系中显示数据
- python - Python 3、gspread、Authlib - 无法仅在 Linux 上导入名称 certificate_transparency
- javascript - 获取带有输入及其值的容器
- python - 花不显示完整的结果字符串
- angular - 为什么你想让你的 Angular 应用离线工作?
- python - Tkinter 文件对话框,传递文件路径并运行脚本的其余部分,转换为 .app