我正在使用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