Путь к базе данных SQLite не работает - PullRequest
1 голос
/ 07 июня 2011

Это мой исходный код, в котором я использовал базу данных SQLite в своем исходном коде PHP.Когда я запускаю скрипт, он выдаёт мне эту ошибку

Warning: sqlite_query() [function.sqlite-query]: no such table: 
books in D:\wamp\www\sqllite\index.php on line 13
Error in query: SQL logic error or missing database

Я думаю, что ошибка находится на пути к базе данных

<?php
$db = $_SERVER['DOCUMENT_ROOT']."umer.db";  


$handle = sqlite_open($db) or die("Could not open database".sqlite_error_string(sqlite_last_error($handle)));

$query = "SELECT * FROM books";


$result = sqlite_query($handle, $query) or die("Error in query: ".sqlite_error_string(sqlite_last_error($handle)));
if (sqlite_num_rows($result) > 0) {

    echo "<table cellpadding=10 border=1>";
    while($row = sqlite_fetch_array($result)) {
        echo "<tr>";
        echo "<td>".$row[0]."</td>";
        echo "<td>".$row[1]."</td>";
        echo "<td>".$row[2]."</td>";
        echo "</tr>";
    }
    echo "</table>";
}


sqlite_close($handle);
?>

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Ошибка, вероятно, путь, который определяется этой строкой:

$db = $_SERVER['DOCUMENT_ROOT']."umer.db";  

Чтобы устранить эту проблему, вы должны попробовать

echo $db;

, а затем сравнить его с вашим фактическим путем- оттуда вы сможете настроить строку.

Если путь по-прежнему правильный, дважды проверьте права доступа к файлу и убедитесь, что он доступен для чтения пользователю, выполняющему процесс php.

Удачи!

0 голосов
/ 07 июня 2011

php начнет поиск файла базы данных относительно каталога, из которого получен текущий запущенный файл, поэтому такие конструкции, как ("../../ database / mydb.sq3"), обычно более переносимы, чем использование абсолютного пути или путь относительно DOCUMENT_ROOT, так как они могут быть изменены по прихоти.

Ваша программа почти наверняка не найдет файл базы данных, в этих случаях sqlite создаст новый пустой файл и вызовет большую путаницу, вызвав ошибку "таблица не найдена" при попытке использовать базу данных.

Ищите пустой «umber.db», появляющийся где-то неожиданно, и это даст вам некоторое представление о том, где вы идете не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...