如何在表中声明日期数据类型?它只是以下几点?
CREATE TABLE sampleDB (..., sampledate DATE, ...)
现在,如果我想通过POST表单使用字符串查询:
"; $db = new SQLiteDatabase("testDB.db"); $query = $db->query("SELECT * FROM sampleDB WHERE sampledate = ".$formdate); while($entry = $query->fetch(SQLITE_ASSOC)) { echo "result: " ... "
"; } } ?>
这似乎不起作用.它不会返回我想要的条目.
当我存储日期为一个字符串,字符串比较,一切都很好,但如果SQLite的有一个日期数据类型,我觉得应该有办法用它!
您发布的代码中存在一个漏洞,似乎可以让任何用户轻松注入任意SQL命令.修复它的两种常用方法是(1)清理输入和(2)使用将命令与(可能不受信任的)参数分开的API.对于(1)我将在PHP文档中查找特定于SQL的转义函数.(2)的一个着名例子是Perl的DBI.(我不知道PHP是否有类似的库.)
在SQLite中,没有日期或时间类型.如果数据库中已有日期字符串,则必须确保它们的格式一致.SQLite手册中的日期和时间函数列出了一些可能对您的查询有用的函数.