2016-02-22 3 views
0

Я использую SQLite с PHP в первый раз. Я пытаюсь получить данные от contact.s3db. Bu Я получаю сообщение об ошибке, как это: Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' in... Вот мой код:SQLite - PDOException: недопустимое имя источника данных

$dir = 'contact.s3db'; 
$dbh = new PDO($dir) or die("cannot open the database"); 
$query = "SELECT * FROM person"; 
foreach ($dbh->query($query) as $row) 
{ 
    echo $row[1] . " " . $row[2] . "<br />"; 
} 
+0

Try '$ ДВГ = новый PDO ('SQLite: /path/to/contact.s3db');'. – brevis

ответ

2

Вы забыли sqlite: префикс, который говорит PDO, какой драйвер использовать;

$dir = 'sqlite:contact.s3db'; 
$dbh = new PDO($dir) or die("cannot open the database"); 
+0

Он дает 'Предупреждение: неверный аргумент, предоставленный foreach() in..' –

+0

@ HabipOĞUZ Похоже, что он находит поставщика сейчас, но не файл. Попробуйте использовать абсолютный путь (a'la 'sqlite:/my/home/directory/contact.s3db') –

+0

Но мой файл базы данных и мой php-файл находятся в одном каталоге, и оба они находятся в основном каталоге (localhost) , Я использую WAMP, и я активировал все расширения SQLite. Как я могу понять, работает ли SQLite правильно? –

1

Вы имеете указать драйвер, используйте $dbh = new PDO('sqlite:contact.s3db'); вместо

Смежные вопросы