我正在使用PHP从数据库中获取数据。SQLite中的SELECT *不会返回表中的所有内容
下面是代码:
<?php
$db = new SQLiteDatabase("testDB.db");
$query = $db->query("SELECT * FROM blog ORDER BY blogdate DESC");
while($entry = $query->fetch(SQLITE_ASSOC)) { //only one blog entry per day
echo "<a href=\"display.php?date=".$entry['blogdate']."\">".$entry['blogdate']."</a><br>";
}
?>
但由于某些原因,它不返回,我一定是在数据库中的条目。我认为它在数据库中的原因是我可以在查看* .db文件时看到条目的文本。
这里有可能会帮助我更好地理解这是怎么回事就一些具体的问题:
我CREATE
的表称为blog
。 I INSERT
元组转换为blog
使用查询函数,就像我对SELECT调用一样。当我使用LIKE的元组,是那些从数据库中删除的元组,还是仅仅从表博客中删除了这些元组?如果是后一种情况,我如何让SQLite从数据库中完全删除元组?
最后,我观察到一些奇怪的行为。一个元组被添加到blog
与blogdate
为“2009-12-1”(我把它当作一个字符串,因为在SQLite中没有日期或时间类型)。当我用上面的代码运行PHP文件时,2009-12-1的条目为blogdate
不会显示。我跑了另一个PHP页面,搜索2009-12-1的blogdate LIKE
元组,并且它出现在搜索结果中。只有这样,当我使用上面的PHP为d时,2009-12-1的元组才会出现。
请详细说明如何知道某个记录必须存在,但不在SELECT查询的结果集中。 – VolkerK 2009-12-03 09:26:25
通过任何方式我们可以看到你想要拉动的记录和/或某些输出? – gonzofish 2009-12-03 12:42:36
那么,我知道它在testDB.db中,因为我可以看到文件中的条目。 我会修改我的问题。 – user5243421 2009-12-04 01:37:21