-
php 에서 sqlite 사용시 - unable to open database filePHP 2017. 2. 17. 14:59반응형
안녕하세요.
php 에서 sqlite 를 사용할려고
<?php
// 새로운 데이터베이스 만들기 (절차지향 인터페이스, 다시 말해 함수로 사용하기)
$db = sqlite_open("./db.sqlite");
if ($db == false){
die ('Unable to open database');
} else {
echo 'Database created.';
}
// foo 테이블 만들기
//sqlite_query($db, "CREATE TABLE foo (id INTEGER PRIMARY KEY, name CHAR(255))");
// 샘플 데이터 삽입
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia2')");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia3')");
exit;
// 쿼리문 실행
$result = sqlite_query($db, "SELECT * FROM foo");
// 저장된 행을 통해 반복한다
while ($row = sqlite_fetch_array($result)) {
print_r($row);
/* 각 결과는 이런 것이다
Array
(
[0] => 1
[id] => 1
[1] => Ilia
[name] => Ilia
)
*/
}
// 데이터베이스 접속 닫기
sqlite_close($db);
?>
이런 예제를 인터넷에서 구했는데,
처음엔 db.sqlite 파일이 없어서 오류 발생 - > 경로에 db.sqlite 파일 생성
두번째엔 unable to open database file -> unable 이니까 파일 권한을 777 로 하면 낭낭하게 가능하겠지~? 해서 권한을 777 로 줘도 똑같이 unable...
여기서 멘붕...
어찌저찌하다가 해결
해결방법
db.sqlite 파일과
www 폴더 의 권한을 모두 777로 변환해주니까 sqlite_query 정상작동....
;;;; 정말 해결방법이 너무 어이없을 정도다...
무튼 이렇게 해결이 가능하니 다른분들은 별 고생하지 않고 해결했음 해서 포스팅을 남겨둡니다.
++))) 이 함수들은 구버전 인것 같다!
버전이 안맞을 경우
file is encrypted or is not a database
오류 발생
SQLite3 함수를 사용해야 한다
단 SQLite 는 php 버전이 5.3 이상이여야 한다.
+))
급하게 php 5.5 버전으로 호스팅신청해서 해보니까
<?php
//phpinfo();exit;
error_reporting(E_ALL);
ini_set("display_errors", 1);
/*
파일 권한은 별 문제가 안되는듯 함
*/
$db = new SQLite3('srpos.db');
//$results = $db->query("insert into VAN (VANCode , VANName) values ('6','test')");
$results = $db->query("SELECT * FROM VAN " );
while ($row = $results->fetchArray()) {
//var_dump($row);
echo $row[0]."---".$row[1]."<br/>";
}
exit;
?>
잘 나온다.
http://php.net/manual/kr/book.sqlite3.php
http://php.net/manual/kr/sqlite3.installation.php
메뉴얼 이고 메뉴얼에
Windows users must enable php_sqlite3.dll in order to use this extension. This DLL is included with Windows distributions of PHP as of PHP 5.3.0.
라고 나와있다..
이제 php가 7점대 버전까지 나온 상황이니... php 버전 업데이트가 필히 필요한 시점인듯 하다.
반응형'PHP' 카테고리의 다른 글
captcha 적용하기 (0) 2018.05.10 php 에서 SQLite3 사용하기 (sqlite) (0) 2017.02.17 php 로 서버간 ftp 연결은 어떻게 할까? (ftp_connect) (0) 2017.02.15 웹페이지에 php 로 간단하게 https 적용하기 (0) 2016.12.22 php 시작하기 - 게시판 만들기 (0) 2015.06.23