
SQLite3::setAuthorizer 함수는 SQL 문을 검사하는 데 사용되는 함수입니다. 이 함수는 4개의 인자를 받습니다.
- authorizer: SQL 문을 검사할 함수를 지정합니다.
- db: 검사할 데이터베이스를 지정합니다.
- op: 검사할 SQL 문을 지정합니다.
- arg: 검사할 SQL 문에 대한 추가 정보를 지정합니다.
SQLite3::setAuthorizer 함수를 사용하여 SQL 문을 검사하는 예제는 다음과 같습니다.
#hostingforum.kr
php
$db = new SQLite3('example.db');
function authorizer($action, $arg1, $arg2, $arg3, $arg4) {
switch ($action) {
case SQLITE_AUTHORIZER_DENY:
echo "denyn";
return SQLITE_DENY;
case SQLITE_AUTHORIZER_IGNORE:
echo "ignoren";
return SQLITE_IGNORE;
case SQLITE_AUTHORIZER_ALLOW:
echo "allown";
return SQLITE_OK;
default:
return SQLITE_DENY;
}
}
$db->setAuthorizer('authorizer');
$db->exec("CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)");
$db->exec("INSERT INTO test (name) VALUES ('John')");
$db->exec("INSERT INTO test (name) VALUES ('Jane')");
$db->close();
이 예제에서는 authorizer 함수를 정의하고, SQLite3::setAuthorizer 함수를 호출하여 authorizer 함수를 데이터베이스에 설정합니다. 그런 다음, 데이터베이스에 테이블을 생성하고 데이터를 삽입하는 SQL 문을 실행합니다. authorizer 함수는 각 SQL 문을 검사하고, 허용되면 SQLITE_OK를 반환하고, 거부되면 SQLITE_DENY를 반환합니다.
2025-06-03 12:51