English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP 5.3.0 부터 기본적으로 SQLite가 활성화됩니다.3 확장을 사용하여 컴파일할 수 있습니다. --without-sqlite3 SQLite를 비활성화3 확장을 활성화해야 합니다.
Windows 사용자는 php_sqlite3.dll을 사용하려면 PHP 5.3.0 부터, 이 DLL이 PHP의 Windows 배포판에 포함됩니다.
자세한 설치 지침을 알고 싶으시면, 우리의 PHP 강의와 그 공식 웹사이트를 확인하는 것이 좋습니다.
아래는 중요한 PHP 프로그램으로, PHP 프로그램에서 SQLite 데이터베이스를 사용하는 데 필요한 요구사항을 충족시킵니다. 자세한 정보를 필요로 하시면 PHP 공식 문서를 확인하시기 바랍니다.
순번 | API & 설명 |
---|---|
1 | public void SQLite3::open ( filename, flags, encryption_key ) SQLite를 열기 3 데이터베이스를 열 때, 암호화가 포함되어 있다면, 사용할 키를 시도합니다. 파일 이름 filename filename에 할당됩니다. ':memory:'그렇다면 SQLite3::open()는 RAM에서 메모리 데이터베이스를 생성하며, 이는 세션의 유효 기간 동안만 유지됩니다. 파일 이름 filename이 실제 장치 파일 이름이면, SQLite3::open()는 이 파라미터 값을 사용하여 데이터베이스 파일을 열려고 시도합니다. 파일 이름이 존재하지 않으면 해당 이름의 새 데이터베이스 파일을 생성합니다. SQLite 데이터베이스를 열는지 여부를�断하기 위한 선택적인 flags입니다. 기본적으로 SQLITE를 사용할 때는 이 flag를 사용하여 데이터베이스를 열기로 설정됩니다.3_OPEN_READWRITE | SQLITE3_OPEN_CREATE 시 열림. |
2 | public bool SQLite3::exec ( string $query ) 이 예제는 sql 파라미터를 통해 제공된 SQL 명령어를 실행하는 빠른 방법을 제공합니다. 여러 개의 SQL 명령어가 포함될 수 있습니다. 이 프로그램은 주어진 데이터베이스에 결과가 없는 쿼리를 실행하는 데 사용됩니다. |
3 | public SQLite3Result SQLite3::query ( string $query ) 이 예제는 SQL 쿼리를 실행하며, 쿼리가 결과를 반환하면 결과를 반환합니다. SQLite3Result 객체. |
4 | public int SQLite3::lastErrorCode ( void ) 이 예제는 최근一次 실패한 SQLite 요청의 숫자 결과 코드를 반환합니다. |
5 | public string SQLite3::lastErrorMsg ( void ) 이 예제는 최근一次 실패한 SQLite 요청의 영어 텍스트 설명을 반환합니다. |
6 | public int SQLite3::changes ( void ) 이 예제는 최근一次의 SQL 문이 업데이트나 삽입이나 삭제된 데이터베이스 행 수를 반환합니다. |
7 | public bool SQLite3::close ( void ) 이 절차는 SQLite를 닫습니다.3::open() opened database connection. |
8 | public string SQLite3::escapeString ( string $value ) 이 절차는 SQL 문장에서 보안을 위해 올바르게 인코딩된 문자열을 반환합니다. |
아래 PHP 코드는 기존 데이터베이스에 연결하는 방법을 보여줍니다. 데이터베이스가 존재하지 않으면 생성되고, 마지막으로 데이터베이스 객체가 반환됩니다.
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } ?>
지금, 위 프로그램을 실행하여 현재 디렉토리에 데이터베이스를 생성해 보겠습니다 test.db。필요에 따라 경로를 변경할 수 있습니다. 데이터베이스가 성공적으로 생성되면 다음과 같은 메시지가 표시됩니다:
Database opened successfully
아래 PHP 코드 블록은 이전에 생성된 데이터베이스에 테이블을 생성하는 데 사용됩니다:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Table created successfully\n"; } $db->close(); ?>
위 프로그램이 실행될 때, test.db 중에 COMPANY 테이블을 생성하고 다음과 같은 메시지를 표시합니다:
데이터베이스가 성공적으로 열렸습니다 Table created successfully
아래 PHP 프로그램은 위에서 생성된 COMPANY 테이블에 기록을 생성하는 방법을 보여줍니다:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Records created successfully\n"; } $db->close(); ?>
위 프로그램이 실행될 때, COMPANY 테이블에 주어진 기록이 생성되고, 다음 두 행이 표시됩니다:
데이터베이스가 성공적으로 열렸습니다 Records created successfully
아래의 PHP 프로그램은 이전에 생성한 COMPANY 테이블에서 기록을 가져오고 표시하는 방법을 보여줍니다:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
이 프로그램이 실행될 때, 다음과 같은 결과를 생성합니다:
데이터베이스가 성공적으로 열렸습니다 ID = 1 NAME = Paul ADDRESS = 캘리포니아 SALARY = 20000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NAME = Teddy ADDRESS = 노르웨이 SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-월요일 SALARY = 65000 작업이 성공적으로 완료되었습니다
아래의 PHP 코드는 UPDATE 문을 사용하여 어떤 기록을 업데이트하고, COMPANY 테이블에서 업데이트된 기록을 가져오고 표시하는 방법을 보여줍니다:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF UPDATE COMPANY set SALARY = 25000.00 where ID=1; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Record updated successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
이 프로그램이 실행될 때, 다음과 같은 결과를 생성합니다:
데이터베이스가 성공적으로 열렸습니다 1 Record updated successfully ID = 1 NAME = Paul ADDRESS = 캘리포니아 SALARY = 25000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NAME = Teddy ADDRESS = 노르웨이 SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-월요일 SALARY = 65000 작업이 성공적으로 완료되었습니다
아래의 PHP 코드는 DELETE 문을 사용하여 어떤 기록을 지우고, COMPANY 테이블에서 나머지 기록을 가져오고 표시하는 방법을 보여줍니다:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF DELETE from COMPANY where ID=2; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Record deleted successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
이 프로그램이 실행될 때, 다음과 같은 결과를 생성합니다:
데이터베이스가 성공적으로 열렸습니다 1 데이터가 성공적으로 지워졌습니다 ID = 1 NAME = Paul ADDRESS = 캘리포니아 SALARY = 25000 ID = 3 NAME = Teddy ADDRESS = 노르웨이 SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-월요일 SALARY = 65000 작업이 성공적으로 완료되었습니다