Sei sulla pagina 1di 32

CRUD - Create, Read, Update e Delete.

CRUD - Create, Read, Update e Delete:

Recapitulando:
CRUD - Create, Read, Update e Delete:

Importante:
PostgreSQL

Comando Funo
pg_connect (string string_conexo) pg_connect criar a conexo com o banco de dados.
pg_query ($conexao, $sql) Executa uma consulta (query).
pg_num_rows ($resultado) Retorna o nmero de linhas
pg_fetch_row Retorna uma linha como um array enumerado.
pg_fetch_array Retorna uma linha (registro) como um array associativo.
pg_connect:
Esta funo abre uma conexo considerando a String fornecida como parmetro, ela
pode possuir os parmetros host, port, dbname, user e password.

Em toda a pgina que for necessrio estabelecer uma conexo com o banco deve ser
includo o arquivo conecta.php.

<?php Arquivo: conecta.php


$servidor = 'localhost';
$porta = 5432;
$bd = 'ifcarros'; Codificao pronta.
$usuario = 'postgres';
$senha = 'senha5';

$conexao = pg_connect("host=$servidor port=$porta dbname=$bd user=$usuario password=$senha");


if(!$conexao) {
die('No foi possvel se conectar ao banco de dados.');
}
?>
CRUD - Create, Read, Update e Delete:

Importante:
interessante que um projeto possua apenas um
arquivo conecta.php. Para que, no momento da
troca de dado da String de conexo ou mesmo da
refatorao do cdigo, a alterao possa ser
realizada em apenas um local.
pg_query ($conexao, $sql):
Esta funo submete uma query contida em uma varivel, aqui representada por $sql,
ao banco de dados previamente conectado.
A varivel $conexao vem do arquivo conecta.php, anteriormente includo na linha
include "conecta.php";.

<?php Arquivo:index.php
include "conecta.php";.
$sql = "select login,senha from usuarios where id = '1'";
$resultado = pg_query($conexao, $sql);
$registro = pg_fetch_array($resultado);
?>
pg_fetch_array($resultado);
Esta funo aponta um registro oriundo do banco por vez e entrega o resultado em um
array associativo, onde o ndice ser o nome do campo.

<?php Arquivo:index.php
include "conecta.php";.
$sql = "select login,senha from usuarios where id = '1'";
$resultado = pg_query($conexao, $sql);
$registro = pg_fetch_array($resultado);
?>
CRUD - Create, Read, Update e Delete:

O que pode dar errado


com a conexo?
CRUD - Create, Read, Update e Delete:

Algum dado pode no ter sido fornecido


corretamente no arquivo conecta.php:
CRUD - Create, Read, Update e Delete:

Algum dado pode no ter sido fornecido corretamente no arquivo conecta.php:

Arquivo: conecta.php
<?php
$servidor = 'localhost';
$porta = 5555; //O correto no lab seria: $porta = 5432;
$bd = 'ifcarros';
$usuario = 'postgres';
$senha = 'senha5';
$conexao = pg_connect("host=$servidor port=$porta dbname=$bd user=$usuario password=$senha");
if(!$conexao) {
die('No foi possvel se conectar ao banco de dados.');
}
?>
CRUD - Create, Read, Update e Delete:

Algum dado pode no ter sido fornecido corretamente no arquivo conecta.php:

O ponto positivo deste


cenrio que o
arquivo conecta.php
est sendo incluido
sem problemas.
CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar


sendo chamado corretamente:
CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar sendo chamado corretamente:

Este um dos piores cenrios:


programa mostra o texto hard-code sem os
dados do banco.
O desenvolvedor no possui nenhuma indicao
do que deu errado. A pagina no mostra os
dados e no existe indicao alguma de erro.
CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar sendo chamado corretamente:

Este caso pode ter diversos causadores:


O erro pode estar na logica, na conexo com o
banco, em uma consulta errada. Tambm pode
indicar que as variveis no foram setadas
mesmo com a consulta correta ao banco.
CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar sendo chamado corretamente:


Uma dica para verificar se o arquivo conecta php
esta sendo chamado alterar algum dado conhecido
na string do comando de conexo (pg_connect
neste exemplo) para gerar a tela de falha de
conexo, conforme foi visto anteriormente.
CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar sendo chamado corretamente:


Se a tela abaixo for vista, significa que o programa esta incluindo o cdigo do
arquivo conecta.php.
CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar sendo chamado corretamente:

Se realmente for problema na conexo


com o banco, necessrio verificar o
caminho do arquivo conecta.php. Este
caminho pode estar errado.
Em pginas organizadas em muitas
pastas, comum ter que colocar caminho
entre pastas para chegar at o arquivo
que se deseja acessar.
CRUD - Create, Read, Update e Delete:

Caminhos relativos ao diretrio atual:

include "../ nomeArquivo.php ";

Caminho Funo

./nomeArquivo.php Inclui arquivo da mesma pasta

../nomeArquivo.php Volta uma pasta a partir da pasta atual

../../nomeArquivo.php Volta duas pasta a partir da pasta atual

/NomePasta/nomeArquivo.php Avana uma pasta a partir da atual

/NomePasta/NomePasta/nomeArquivo.php Avana duas pastas a partir da atual


CRUD - Create, Read, Update e Delete:

O arquivo conecta.php pode no estar sendo chamado corretamente:

possvel verifica se o caminho


est correto pressionando a tecla
control(Crtl) e clicando com o
mouse no link que formara na
palavra. Caso o arquivo abra no
Netbeans, o link est correto, caso
negativo este caminho devera ser
corrigido.
CRUD - Create, Read, Update e Delete:

Mesmo fazendo o teste dos slides anteriores


o cdigo continua com saida abaixo:
CRUD - Create, Read, Update e Delete:

Mesmo fazendo o teste dos slides anteriores o cdigo continua com saida abaixo:

Copie o contedo da string do cdigo


que vai no comando pg_query e o
execute no phpPgAdmin ou pgAdmin.

<?php
include "conecta.php";.
$sql = "select login,senha from usuarios where id = '1'";
$resultado = pg_query($conexao, $sql);
$registro = pg_fetch_array($resultado);
?>
CRUD - Create, Read, Update e Delete:

Mesmo fazendo o teste dos slides anteriores o cdigo continua com saida abaixo:

Se o resultado da consulta for


satisfatrio o desenvolvedor devera
verificar toda a logica envolvida na
codificao, pois no problema
nem na conexo com o BD nem com
a query.
O uso de uma boa IDE indicado.
O que CRUD
CRUD - Create, Read, Update e Delete.
uma maneira simplificada de se referir as quatro operaes
bsicas de um banco de dados. Tambm comum chamar
CRUD a interface amigvel, onde o usurio pode escolher
uma das quatro operaes para manipular o BD.
CRUD - Create, Read, Update e Delete.

Criar registro Alterar registro

Ler registro Excluir registro


INSERT INTO usuarios (id, nome, login, senha, cidade, cep, profissao) VALUES ('5','IFSul', 'if', '1234', 'Pelotas', '3213342', 'aluno')

CRUD - Create, Read, Update e Delete.

Criar registro
CRUD - Create, Read, Update e Delete:
Create:
<?php
include "conecta.php";
//Insere registro com id=1 na tabela usuarios
$sql = "INSERT INTO vendedor (cd_vendedor,nm_vendedor, salario) VALUES ('400','Jose silva', '1900')";
$insert = pg_query($conexao , $sql);
$sql = "select cd_vendedor,nm_vendedor, salario from vendedor where cd_vendedor = '1'"; //pesquisa login,senha na tabela usuarios usuario
com id=1
$resultado = pg_query($conexao, $sql);
$registro = pg_fetch_array($resultado);
?>
<html>
<head>
<title>Teste</title>
</head>
<body>
<?php
echo"O registro com id =1 possui o login = $registro[login] e a senha = $registro[senha]";
?>
</body>
</html>
select login,senha from usuarios where id = '1'

CRUD - Create, Read, Update e Delete.

Ler registro
CRUD - Create, Read, Update e Delete:

Read:
<?php
include "conecta.php";
$sql = "select cd_vendedor,nm_vendedor, salario from vendedor where cd_vendedor = '1'"; //pesquisa login,senha na
tabela usuarios usuario com id=1

$resultado = pg_query($conexao, $sql);


$registro = pg_fetch_array($resultado);
?>
<html>
<head>
<title>Teste</title>
</head>
<body>
<?php
echo"O registro com id =1 possui o login = $registro[login] e a senha = $registro[senha]";
?>
</body>
</html>
update usuarios set login = 'itautec_' where id = '1'

CRUD - Create, Read, Update e Delete.

Alterar registro
CRUD - Create, Read, Update e Delete:
Update:
<?php
include "conecta.php";
$sql = "update vendedor set login = 'itautec_',senha = '4321' where id = '1'"; //Insere registro com id=5 na tabela usuarios
$insert = pg_query($conexao , $sql);

$sql = "select cd_vendedor,nm_vendedor, salario from vendedor where cd_vendedor = '1'"; //pesquisa login,senha na tabela usuarios
usuario com id=1
$resultado = pg_query($conexao, $sql);
$registro = pg_fetch_array($resultado);
?>
<html>
<head>
<title>Teste</title>
</head>
<body>
<?php
echo"O registro com id =1 possui o login = $registro[login] e a senha = $registro[senha]";
?>
</body>
</html>
delete from usuarios where id = '1';

CRUD - Create, Read, Update e Delete.

Excluir registro
CRUD - Create, Read, Update e Delete:
Delete:
<?php
include "conecta.php";
$sql = "delete from vendedor where cd_vendedor = '1'";//Exclui registro com id=1 na tabela usuarios
pg_query($conexao , $sql);

$sql = "select cd_vendedor,nm_vendedor, salario from vendedor where cd_vendedor = '1'";//pesquisa login,senha na tabela usuarios com
id=1
$resultado = pg_query($conexao, $sql);
$registro = pg_fetch_array($resultado);
?>
<html>
<head>
<title>Teste</title>
</head>
<body>
<?php
echo"O registro com id =1 possui o login = $registro[login] e a senha = $registro[senha]";
?>
</body>
</html>

Potrebbero piacerti anche