Я использую PHP для извлечения данных из базы данных.
Вот код:
<?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.
Вот некоторые конкретные вопросы, которые могут помочь мне лучше понять, что происходит:
I CREATE
таблица с именем blog
. Я INSERT
кортежем в blog
, используя функцию запроса, как я делал с вызовами SELECT. Когда я DELETE
использую LIKE для кортежей, эти кортежи удаляются из базы данных или только из блога таблицы? Если это последний случай, как мне заставить SQLite полностью удалить кортеж из базы данных?
Наконец, я заметил странное поведение. К blog
добавляется кортеж с blogdate
как «2009-12-1» (который я рассматриваю как строку, потому что в SQLite нет типа даты или времени). Когда я запускаю файл PHP с вышеуказанным кодом, запись с 2009-12-1 как blogdate
не отображается. Я запустил другую страницу PHP, которая ищет кортежи с blogdate LIKE
2009-12-1, и она появилась в результатах поиска. Только тогда появился кортеж для 2009-12-1, когда я SELECT *
d для него использовал PHP выше.