Upload
daniel-brandao
View
435
Download
5
Embed Size (px)
Citation preview
Programação Dinâmica para Web
Prof. Daniel Brandão
Efetuando conexões e consultas em
SGBDs a partir de Aplicações Web
Conexões e consultas em SGBDs
• Linguagens de programação fornecem uma série de funções ou métodos que possibilitam a conexão de aplicações com SGBDs;
• Toda aplicação, seja ela Web ou Desktop, segue uma sequência de passos na interação aplicação-SGBD;
Conexões e consultas em SGBDs
• Sequência de passos:
1. A aplicação estabelece uma conexão com o SGBD;
2. A aplicação seleciona uma base de dados a ser utilizada durante a conexão;
3. A aplicação executa uma consulta específica (seleção, inserção, remoção...);
4. A aplicação fecha a conexão corrente com o SGBD;
1ª ETAPA – Estabelecer uma conexão PHP-MySQL
1ª Etapa
• A função mysql_connect() é utilizada na abertura de uma conexão MySQL;
6
<?php
$conexao = mysqli_connect("servidor", "login",
"senha");
/*
Onde:
“servidor” – URL do servidor MySQL
“login” – Login de acesso ao servidor MySQL
“senha” – Senha de acesso ao servidor MySQL
*/
?>
1ª Etapa
• Exemplo:
7
<?php
$conexao = mysqli_connect("localhost", "root", "");
if($conexao)
echo "Conexão estabelecida com sucesso!";
else
echo "Erro ao estabelecer conexão.";
?>
2ª ETAPA – Selecionar uma base de dados do servidor
MySQL
2ª Etapa
• A função mysql_select_db() é utilizada na seleção de uma base de dados MySQL;
9
<?php
$conexao = mysqli_connect("servidor", "login",
"senha");
mysqli_select_db("nome_da_base", $conexao);
/*
Onde:
“nome_da_base” – Nome da base de dados
$conexao – Ponteiro para o servidor MySQL
*/
?>
3ª ETAPA – Executar uma consulta SQL
3ª Etapa
• A função mysql_query() é utilizada na execução de consultas SQL em um servidor MySQL;
11
<?php$conexao = mysqli_connect("servidor", "login",
"senha");
mysqli_select_db("nome_da_base", $conexao);
mysql_query(“Query SQL”);
?>
3ª Etapa
• Exemplo 1:
12
<?php$conexao = mysqli_connect(“localhost", “root", "");
mysqli_select_db(“cadastro", $conexao);
mysqli_query(“
CREATE TABLE pessoas
(
id int,
nome varchar(255)
)
");
?>
3ª Etapa
• Exemplo 2:
13
<?php$conexao = mysqli_connect(“localhost", “root", "");
mysqli_select_db(“cadastro", $conexao);
mysqli_query(“
INSERT INTO pessoas
(nome)
VALUES
(‘Jose’)
");
?>
3ª Etapa
• Exemplo 3:
14
<?php$conexao = mysqli_connect(“localhost", “root", "");
mysqli_select_db(“cadastro", $conexao);
$dados = mysqli_query("SELECT * FROM PESSOAS");
while($tabela = mysqli_fetch_array($dados)) {
echo $tabela[‘nome’] . ‘<br/>’;
}
?>
4ª ETAPA – Encerrar uma conexão
4ª Etapa
• A função mysql_close() encerra uma conexão MySQL;
16
<?php$conexao = mysqli_connect("servidor", "login",
"senha");
mysqli_select_db("nome_da_base", $conexao);
mysqli_query(“Query SQL”);
mysqli_close($conexao);
?>
4ª Etapa
• Exemplo:
17
<?php$conexao = mysqli_connect(“localhost", “root", "");
mysqli_select_db(“cadastro", $conexao);
mysqli_query(“
CREATE TABLE pessoas
(
id int,
nome varchar(255)
)
");
mysqli_close($conexao);
?>
5ª ETAPA – Inserindo e Recebendo dados do Banco
5ª etapa
• Para inserir dados em uma tabela no banco, você precisa criar um script HTML, um formpor ex., que envie dados para um arquivo PHP que possua um SQL INSERT a ser executado no servidor.
19
5ª Etapa
• Exemplo:
20
<?php$conexao = mysqli_connect(“localhost", “root", "");
$titulo = $_POST['titulo'];
$subtitulo = $_POST['subtitulo'];
$texto = $_POST['texto'];
$sql = "INSERT INTO admin VALUES ('', '$titulo',
'$subtitulo', '$texto')";
$insert = mysqli_query($conexao, $sql);
mysqli_close($conexao);
?>
$insert = mysqli_query($conexao, $sql);
5ª etapa
• Para listar dados que estejam em uma tabela no banco, você precisa criar um script em um arquivo PHP que possua um SQL SELECT a ser executado no servidor.
21
5ª Etapa
• Exemplo:
22
<? $conexao = mysqli_connect(“localhost", “root", "");
$dados = mysqli_query(“SELECT * FROM admin");
while($tabela = mysqli_fetch_array($dados)) {
echo $tabela[‘titulo’] . ‘<br/>’;
echo $tabela[‘subtitulo’] . ‘<br/>’;
echo $tabela[‘texto’] . ‘<br/>’;
}
mysqli_close($conexao);
?>
Atividade
Mini Projeto PHP
23
Atividade
• Baseado no exemplo feito em sala, crie um projeto de site em PHP contendo:
A) Página inicial recebendo dados do banco;
B) Página Admin com as opções de inserir dados no banco e listar;
C) Arquivo config.inc.php contendo os dados de conexão. Este aquirvo deve ser incluído (include) e todas as páginas que precisarão de conectar com o banco.
• OBS: exemplo no meu github (clique aqui)
24