Forum und email

sqlite_query

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_query — Executa uma query em um banco de dados e retorna o manipulador de resultados.

Descrição

resource sqlite_query ( resource $dbhandle , string $query [, int $result_type [, string &$error_msg ]] )
resource sqlite_query ( string $query , resource $dbhandle [, int $result_type [, string &$error_msg ]] )

Modo orientado a objeto (método):

SQLiteDatabase
SQLiteResult query ( string $query [, int $result_type [, string &$error_msg ]] )

Executa uma SQL indicada pelo parâmetro query com um banco de dados.

Parâmetros

dbhandle

O resource do banco de dados SQLite; retornado da sqlite_open() quando usado no modo procedural. Este parâmetro não é requerido quando usado o método no modo orientado a objeto.

query

A query a ser executada.

result_type

O parâmetro opcional result_type aceita uma constante e determina como a matriz retornada será indexada. Usando SQLITE_ASSOC irá retornar apenas os índices associativos (campos com nomes) enquanto SQLITE_NUM irá retornar apenas os índices numéricos (campos com números). SQLITE_BOTH irá retornar ambos os índices, numérico e associativo. SQLITE_BOTH é o padrão para esta função.

error_msg

A especificada variável que será preenchida se um erro ocorrer. Isto é especialmente importante porque a os erros de sintaxe SQL não podem ser obtidos usando a função sqlite_last_error().

Nota: Duas sintaxes alternativas são suportaas para compatibilidade com outras extensões de banco de dados( como o MySQL). A forma preferida é a primeira, aonde o parâmetro dbhandle é o primeiro parãmetro da função.

Valor Retornado

Esta função irá retornar um manipulador de resultado ou FALSE em falha. Para queries que retornam linhas, o manipulador de resultado pode então ser usado com funções como sqlite_fetch_array() e sqlite_seek().

Qualquer que seja o tipo da query, esta função irá retornar FALSE se houver uma falha.

sqlite_query() retorna um resultado guardado em buffer e navegavel. Isto é util para query pequenas aonde você necessita acessar de forma aleatória as linhas. Resultados guardados em buffer irão alocar memoria para guardar todo o resultado e não irão retornar até que todo o resultado tenha sido retornado. Se você necessita apenas acesso sequencial aos dados, é recomendado que você use ao invés a função sqlite_unbuffered_query() que é muito mais rapida.

Histórico

Versão Descrição
5.1.0 Adicionado o parâmetro error_msg

Notas

Aviso

SQLite irá executar multiplas query separadas por ponto e virgula, assimvocê pode executar um lote de SQL que você tenha carregado de um arquivo ou colocado em um script. Entretando, isto funciona apenas quando o resultado de uma função não é usado - se for usado, apenas o primeiro comando SQL será executado. A função sqlite_exec() irá sempre executar multiplos comandos SQL.

Quando executar multiplas query o valor de retorno desta função será FALSE se houver um erro, mas indefinido em outro caso (pode ser TRUE para sucesso ou retornar um conjunto de resultados).