Comando CodeIgniter: $this->db->query(‘SQL query’) – Executa uma consulta SQL manual.

No desenvolvimento de aplicações web utilizando o framework CodeIgniter, muitas vezes é necessário realizar consultas SQL que não se encaixam nos métodos de abstração de dados oferecidos pelo Active Record. Nesses casos, o comando $this->db->query() se torna uma ferramenta valiosa para executar consultas SQL manuais, proporcionando flexibilidade e controle total sobre as instruções SQL que são enviadas ao banco de dados.

Comando CodeIgniter: Executando Consultas SQL Manuais

O comando $this->db->query() permite que desenvolvedores executem consultas SQL diretamente, o que é útil para casos onde operações complexas são necessárias ou quando se deseja otimizar uma query específica. A utilização desse comando é bastante simples, pois consiste em passar uma string contendo a consulta SQL desejada como argumento. É importante ressaltar que, ao utilizar consultas manuais, o desenvolvedor deve estar ciente dos riscos de injeção SQL e sempre garantir a sanitização de quaisquer entradas que possam ser originadas do usuário.

$sql = "SELECT * FROM usuarios WHERE id = ?";
$query = $this->db->query($sql, array($id));
$resultado = $query->result();

Entendendo o Uso de $this->db->query() em CodeIgniter

O método $this->db->query() retorna um objeto CI_DB_result, que pode ser utilizado para manipular os resultados da consulta executada. Esse objeto fornece métodos como result(), row(), e num_rows(), que permitem que você trabalhe com os dados retornados de forma eficiente. Além disso, a consulta pode incluir placeholders (como ?) para prevenir a injeção de SQL, onde valores são passados como um array. Essa abordagem não apenas melhora a segurança, mas também mantém o código mais claro e fácil de manter, uma vez que a lógica de consulta SQL e a manipulação de dados estão separadas.

$sql = "SELECT * FROM produtos WHERE categoria = ?";
$query = $this->db->query($sql, array($categoria));
foreach ($query->result() as $row) {
    echo $row->nome . "";
}

Em suma, o uso de $this->db->query() em CodeIgniter é uma maneira eficiente de realizar consultas SQL manuais quando as funcionalidades padrão do Active Record não atendem às necessidades do projeto. No entanto, é crucial usar esse recurso com cautela, garantindo a segurança das aplicações através da sanitização adequada das entradas. Com o entendimento e a prática adequados, os desenvolvedores podem aproveitar ao máximo essa funcionalidade, aumentando a flexibilidade e a performance de suas consultas ao banco de dados.

Leia mais