English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
desde o PHP 5.3.0, o SQLite é habilitado por padrão3 extensão. Você pode usar a opção --sem-sqlite3 Desative o SQLite3 extensão.
Os usuários do Windows devem ativar a extensão php_sqlite3.dll para usar essa extensão. Desde PHP 5.3.0 A DLL é incluída na distribuição Windows do PHP.
Para obter instruções de instalação detalhadas, recomendamos que você consulte nosso tutorial PHP e seu site oficial.
A seguir estão os importantes programas PHP, que podem atender às suas necessidades no uso do banco de dados SQLite no programa PHP. Se precisar de mais detalhes, consulte a documentação oficial do PHP.
Número | API & Descrição |
---|---|
1 | public void SQLite3::open ( filename, flags, encryption_key ) abrir um SQLite 3 banco de dados. Se a construção incluir criptografia, então ele tentará usar a chave. Se o nome do arquivo filename será atribuído a ':memory:'então o SQLite3::open() criará um banco de dados em RAM, que durará apenas durante a validade da sessão. Se o nome do arquivo filename for o nome real do dispositivo, então o SQLite3::open() tentará abrir o arquivo de banco de dados usando esse valor de parâmetro. Se o arquivo com esse nome não existir, será criado um novo arquivo de banco de dados com esse nome. Flags opcionais usados para determinar se o banco de dados SQLite será aberto. Pelo padrão, ao usar SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE ao abrir. |
2 | public bool SQLite3::exec ( string $query ) Esta rotina fornece um atalho para executar comandos SQL, onde o comando SQL é fornecido pelo parâmetro sql e pode consistir em múltiplos comandos SQL. Este programa é usado para executar uma consulta sem resultado em um banco de dados dado. |
3 | public SQLite3Result SQLite3::query ( string $query ) Esta rotina executa uma consulta SQL e retorna um SQLite3Result objeto. |
4 | public int SQLite3::lastErrorCode ( void ) Esta rotina retorna o código de resultado numérico da solicitação SQLite falhada mais recente. |
5 | public string SQLite3::lastErrorMsg ( void ) Esta rotina retorna a descrição textual em inglês da solicitação SQLite falhada mais recente. |
6 | public int SQLite3::changes ( void ) Esta rotina retorna o número de linhas do banco de dados atualizadas ou inseridas ou removidas pela última vez na consulta SQL. |
7 | public bool SQLite3::close ( void ) Esta rotina fecha a conexão do SQLite antes de ser chamada.3::open() Conexão de banco de dados aberta. |
8 | public string SQLite3::escapeString (string $value ) Esta rotina retorna uma string, na instrução SQL, para segurança, a string foi corretamente escapada. |
O seguinte código PHP mostra como conectar-se a um banco de dados existente. Se o banco de dados não existir, ele será criado e, finalmente, retornará um objeto de banco de dados.
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Banco de dados aberto com sucesso\n"; } ?>
Agora, vamos executar o programa acima para criar nosso banco de dados no diretório atual test.db。Você pode alterar o caminho conforme necessário. Se o banco de dados for criado com sucesso, a mensagem a seguir será exibida:
Banco de dados aberto com sucesso
O seguinte trecho de código PHP será usado para criar uma tabela no banco de dados anteriormente criado:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Banco de dados aberto com sucesso\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 "Tabela criada com sucesso\n"; } $db->close(); ?>
Quando o programa acima é executado, ele cria: test.db Crie a tabela COMPANY no banco de dados e exiba a mensagem a seguir:
Banco de dados aberto com sucesso Tabela criada com sucesso
O seguinte programa PHP mostra como criar registros na tabela COMPANY criada acima:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Banco de dados aberto com sucesso\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 "Registros criados com sucesso\n"; } $db->close(); ?>
Quando o programa acima é executado, ele cria o registro especificado na tabela COMPANY e exibe as seguintes duas linhas:
Banco de dados aberto com sucesso Registros criados com sucesso
O programa PHP a seguir mostra como obter e exibir registros da tabela COMPANY previamente criada:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Banco de dados aberto com sucesso\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 "Operação concluída com sucesso\n"; $db->close(); ?>
Ao executar o programa acima, ele produz os seguintes resultados:
Banco de dados aberto com sucesso ID = 1 NOME = Paul ENDEREÇO = California SALARY = 20000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NOME = Teddy ENDEREÇO = Noruega SALARY = 20000 ID = 4 NOME = Mark ENDEREÇO = Rico-Domingo SALARY = 65000 Operação concluída com sucesso
O código PHP a seguir mostra como usar a cláusula UPDATE para atualizar qualquer registro e, em seguida, obter e exibir os registros atualizados da tabela COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Banco de dados aberto com sucesso\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(), " Registro atualizado com sucesso\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 "Operação concluída com sucesso\n"; $db->close(); ?>
Ao executar o programa acima, ele produz os seguintes resultados:
Banco de dados aberto com sucesso 1 Registro atualizado com sucesso ID = 1 NOME = Paul ENDEREÇO = California SALARY = 25000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NOME = Teddy ENDEREÇO = Noruega SALARY = 20000 ID = 4 NOME = Mark ENDEREÇO = Rico-Domingo SALARY = 65000 Operação concluída com sucesso
O código PHP a seguir mostra como usar a cláusula DELETE para excluir qualquer registro e, em seguida, obter e exibir os registros restantes da tabela COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Banco de dados aberto com sucesso\n"; } $sql =<<<EOF DELETE from COMPANY where ID=2; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Registro deletado com sucesso\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 "Operação concluída com sucesso\n"; $db->close(); ?>
Ao executar o programa acima, ele produz os seguintes resultados:
Banco de dados aberto com sucesso 1 Registro excluído com sucesso ID = 1 NOME = Paul ENDEREÇO = California SALARY = 25000 ID = 3 NOME = Teddy ENDEREÇO = Noruega SALARY = 20000 ID = 4 NOME = Mark ENDEREÇO = Rico-Domingo SALARY = 65000 Operação concluída com sucesso