PHP PDO SQLite3转换日期字符串

时间:2012-11-03 08:39:45

标签: php sqlite pdo

仅在localhost上使用SQLite3,PDO和PHP5。

使用网页表显示列,示例集(表中的1条记录),用于选择列的复选框,以及用于为后续查询选择修改器的下拉列表。 在单击“获取查询”按钮时,简单查询..

SELECT day FROM tbl;

..变成了......

SELECT datetime([day],'unixepoch','+978307200 seconds','localtime') as day FROM tbl;

(这是通过字符串替换功能完成的)

然后通过cookie传递给结果页面(使用cookie,因为我也传递了很多其他数据)

此查询现在将所有这些秒添加到已转换的unix纪元时间,并在本地时间放弃结果...(vs UTC)

如果我将查询直接硬编码到“results.php”页面,它可以正常工作。如果页面使用存储在上一页设置的cookie中的查询,则不会得到任何结果。检查结果页面元素,我可以看到已经使用完整查询设置了cookie。

我把它缩小到"+978307200"修改器...因为没有它,它工作正常(除了978307200秒之外!)

我正在接受“+”符号发生的事情,但完全不知道如何修复它。

任何想法/建议? 感谢。

1 个答案:

答案 0 :(得分:0)

在URL和cookies中,sing是占位符表示空格,$_COOKIES数组包含已解析的Cookie标题,因此每个加号都会更改为空格。

如果你真的必须在页面之间传递这种数据,请使用session。

如果由于某种原因会话不是一个选项,则必须将值编码为仅包含“安全”字符,然后再将其存储到cookie中,然后在使用前对其进行解码。最受欢迎的是base64_函数