-
php 에서 SQLite3 사용하기 (sqlite)PHP 2017. 2. 17. 18:25반응형
안녕하세여~
이전글 http://itdevelop.kr/93 에서 수정을 거쳐 SQLite3 사용법 입니다.
php 버전은 5.3 이상이여야하구요~
아래는 제가 실제로 실무에 적용된 일부 프로그램 입니다.
즉, 그냥 갔다 쓰셔도 됩니다. 필요한것만 짜집기 하셔서 사용하세요!
아래에는 아래와 같은 기능이 들어있습니다.
- SQLite3 함수 정의
- selete(update,delete 문 동일)
- CREATE TABLE
- index 설정
<?php
//phpinfo();exit;
error_reporting(E_ALL);
ini_set("display_errors", 1);
/*
SQLite3 에서는 파일 권한은 별 문제가 안되는듯 함
*/
$FilePath = "./CPID/srpos.db"; //파일경로 <-- 위치에 파일이 있음을 확인할것!
$db = new SQLite3($FilePath); // SQLite3 <-- php 5.3 이상부터는 기본 내장 함수 , 5.26 이 설치된 서버에서는 정의되지 않은 함수라며 오류가 발생했었음!
//테이블 생성 , 단 테이블이 없을 경우만
CreateTableFNC($db);
$results = $db->query("SELECT * FROM VAN " );
while ($row = $results->fetchArray()) {
//var_dump($row);
echo $row[0]."---".$row[1]."<br/>";
}
function CreateTableFNC($db){
///인덱스 생성하는 과정에서 문제가 좀 있음 해결할것 2017-02-17 --> 인덱스가 mysql 과는 다르게 CREATE 문에서는 생성이 불가능 했음
$sql_Client = "CREATE TABLE IF NOT EXISTS [Client] ( Code TEXT NOT NULL PRIMARY KEY , Name TEXT NOT NULL , MobilePhoneNumber TEXT , PhoneNumber TEXT , MembershipNumber TEXT , Grade INTEGER , Address TEXT , Memo TEXT , JoinDate TEXT , BirthDay TEXT , ReserveAmount INTEGER ) ";
$db->query($sql_Client); // 실행
//중간생략~~~ 필요한것 다 넣으세요~
$sql_meta = "CREATE TABLE IF NOT EXISTS android_metadata (locale TEXT) ";
$db->query($sql_meta);
// object name reserved for internal use: sqlite_sequence 오류 발생
// 파일 열어보면 이미 생성되어있음
// sqlite_sequence 가 예약어 인듯함
//$sql_seq = "CREATE TABLE IF NOT EXISTS sqlite_sequence(name TEXT,seq INT) ";
//$db->query($sql_seq);
//인덱스 설정되어있는데 또 쿼리 실행시 에러남
//인덱스 확인 쿼리
$sql_index_check = "PRAGMA INDEX_LIST('StockLedger'); ";
$results = $db->query($sql_index_check);
$indexRow = $results->fetchArray();
if($indexRow[1] ==""){
$sql_ = "CREATE INDEX IDX_Date ON [StockLedger] ( Date )";
$db->query($sql_);
//echo $indexRow[0]."---".$indexRow[1]."<br/>";
}
$sql_index_check = "PRAGMA INDEX_LIST('WorktimeLedger'); ";
$results = $db->query($sql_index_check);
$indexRow = $results->fetchArray();
if($indexRow[1] ==""){
$sql_ = "CREATE INDEX IDX_StaffId ON [WorktimeLedger] ( StaffId , StartWorkTime )";
$db->query($sql_);
$sql_ = "CREATE INDEX IDX_StartWorktime ON [WorktimeLedger] ( StartWorkTime )";
$db->query($sql_);
//echo $indexRow[0]."---".$indexRow[1]."<br/>";
}
}
?>
반응형'PHP' 카테고리의 다른 글
홈텍스 사업자등록상태조회 프로그램 (0) 2020.03.05 captcha 적용하기 (0) 2018.05.10 php 에서 sqlite 사용시 - unable to open database file (0) 2017.02.17 php 로 서버간 ftp 연결은 어떻게 할까? (ftp_connect) (0) 2017.02.15 웹페이지에 php 로 간단하게 https 적용하기 (0) 2016.12.22