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 form
por 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

PHP Aula07 - conexão Com Banco de Dados

  • 1.
  • 2.
    Efetuando conexões e consultasem SGBDs a partir de Aplicações Web
  • 3.
    Conexões e consultasem 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;
  • 4.
    Conexões e consultasem 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;
  • 5.
    1ª ETAPA –Estabelecer uma conexão PHP-MySQL
  • 6.
    1ª Etapa • Afunçã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 */ ?>
  • 7.
    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."; ?>
  • 8.
    2ª ETAPA –Selecionar uma base de dados do servidor MySQL
  • 9.
    2ª Etapa • Afunçã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 */ ?>
  • 10.
    3ª ETAPA –Executar uma consulta SQL
  • 11.
    3ª Etapa • Afunçã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”); ?>
  • 12.
    3ª Etapa • Exemplo1: 12 <?php $conexao = mysqli_connect(“localhost", “root", ""); mysqli_select_db(“cadastro", $conexao); mysqli_query(“ CREATE TABLE pessoas ( id int, nome varchar(255) ) "); ?>
  • 13.
    3ª Etapa • Exemplo2: 13 <?php $conexao = mysqli_connect(“localhost", “root", ""); mysqli_select_db(“cadastro", $conexao); mysqli_query(“ INSERT INTO pessoas (nome) VALUES (‘Jose’) "); ?>
  • 14.
    3ª Etapa • Exemplo3: 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/>’; } ?>
  • 15.
    4ª ETAPA –Encerrar uma conexão
  • 16.
    4ª Etapa • Afunçã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); ?>
  • 17.
    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); ?>
  • 18.
    5ª ETAPA –Inserindo e Recebendo dados do Banco
  • 19.
    5ª etapa • Parainserir dados em uma tabela no banco, você precisa criar um script HTML, um form por ex., que envie dados para um arquivo PHP que possua um SQL INSERT a ser executado no servidor. 19
  • 20.
    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);
  • 21.
    5ª etapa • Paralistar 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
  • 22.
    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); ?>
  • 23.
  • 24.
    Atividade • Baseado noexemplo 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