No presente artigo veremos as operações de inserção, atualização e apagado de registros. Observaremos que o uso da classe SpoonDatabase simplifica bastante a implementação destas operações básicas sobre base de dados.
Como lembrete, antes de poder fazer qualquer coisa com a base de dados temos que conectar com ela, para o que dispomos do construtor da classe SpoonDatabase, à que temos que enviar os parâmetros para a conexão:
//crio uma conexão com a base de dados
$db = new SpoonDatabase('mysql', 'servidor', 'usuario', 'a chave', 'base_de_dados_a_conectar');
//Array com os dados do usuário
$dados_usuario = array("nome_completo" => "Julio Casacudo", "email" => "julio@casacudo.com", "password" => "loquesea");
//operação de inserção
$id_usuario = $db->insert('usuario', $dados_usuario);
//mostro o dado que me retorne insert()
echo "O identificador do usuario inserido é: " . $id_usuario;
Como se viu, a inserção consta de dois passos básicos. Primeiro a criação do array com os dados do registro a inserir. É um array associativo com todos os valores de todos os campos que queremos introduzir.
A seguir, fazemos a chamada ao método insert(), que recebe os mencionados parâmetros e devolve o identificador do registro inserido.
Por último, a modo de confirmação, mostramos com um echo na página o identificador do registro que foi inserido.
Ademais, enviaremos ao método update(), opcionalmente dois parâmetros para definir a cláusula where, de modo que possamos especificar que registros devem ser atualizados. No momento vejamos um exemplo ainda sem cláusula where.
//atualizo registros com update
$dados_teste = array("campo" => "valor");
$filas_afetadas = $db->update('tabela_teste', $dados_teste);
O método update(), como se pode ver no código anterior, retorna o número de registros que foram atualizados por meio da consulta.
Agora vejamos como construir a parte do where na consulta de atualização, embora realmente funcione igual aos where que vimos ao explicar as consultas de seleção (select).
Uma possibilidade é escrever tal qual a parte do where no terceiro parâmetro.
$db->update('tabela_teste', $dados_teste, "id=1");
Aqui estamos indicando que se atualizem os registros com id=1. Outra possibilidade é parametrizar com variáveis a parte do where, indicando os valores em um quarto parâmetro.
$db->update('tabela_teste', $dados_teste, "nome=?", $valor_nome);
Aqui estamos indicando que se atualizem os registros com nome igual ao que haja na variável $valor_nome.
Podemos ver a seguir um exemplo de atualização do nome e a chave de um dos usuários da tabela_usuario (o que tem o id_usuario=66).
//atualizo usuario
$dados_a_mudar = array("nome_completo" => "Albertito Tito", "password" => "alua");
$filas_afetadas = $db->update('usuario', $dados_a_mudar, "id_usuario=?", 66);
echo "O número de registros atualizados é: " . $filas_afetadas;
//apago um usuario
$filas_afetadas = $db->delete('usuario', "id_usuario=?", 3);
O usuário que será apagado com o delete anterior é o que tem id_usuario=3. Ademais, como se pode ver, o método delete() retorna o número de registros que foram eliminados com tal instrução, que poderíamos mostrar a seguir na página assim:
echo "O número de registros apagados é: " . $filas_afetadas;
Recordem que na documentação das bibliotecas Spoon vocês encontrarão outra serie de métodos interessantes, que nós veremos em próximos artigos.