php aula07 - conexão com banco de dados

24
Programação Dinâmica para Web Prof. Daniel Brandão

Upload: daniel-brandao

Post on 18-Feb-2017

433 views

Category:

Software


5 download

TRANSCRIPT

Page 1: PHP Aula07 - conexão Com Banco de Dados

Programação Dinâmica para Web

Prof. Daniel Brandão

Page 2: PHP Aula07 - conexão Com Banco de Dados

Efetuando conexões e consultas em

SGBDs a partir de Aplicações Web

Page 3: PHP Aula07 - conexão Com Banco de Dados

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;

Page 4: PHP Aula07 - conexão Com Banco de Dados

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;

Page 5: PHP Aula07 - conexão Com Banco de Dados

1ª ETAPA – Estabelecer uma conexão PHP-MySQL

Page 6: PHP Aula07 - conexão Com Banco de Dados

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

*/

?>

Page 7: PHP Aula07 - conexão Com Banco de Dados

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.";

?>

Page 8: PHP Aula07 - conexão Com Banco de Dados

2ª ETAPA – Selecionar uma base de dados do servidor

MySQL

Page 9: PHP Aula07 - conexão Com Banco de Dados

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

*/

?>

Page 10: PHP Aula07 - conexão Com Banco de Dados

3ª ETAPA – Executar uma consulta SQL

Page 11: PHP Aula07 - conexão Com Banco de Dados

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”);

?>

Page 12: PHP Aula07 - conexão Com Banco de Dados

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)

)

");

?>

Page 13: PHP Aula07 - conexão Com Banco de Dados

3ª Etapa

• Exemplo 2:

13

<?php$conexao = mysqli_connect(“localhost", “root", "");

mysqli_select_db(“cadastro", $conexao);

mysqli_query(“

INSERT INTO pessoas

(nome)

VALUES

(‘Jose’)

");

?>

Page 14: PHP Aula07 - conexão Com Banco de Dados

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/>’;

}

?>

Page 15: PHP Aula07 - conexão Com Banco de Dados

4ª ETAPA – Encerrar uma conexão

Page 16: PHP Aula07 - conexão Com Banco de Dados

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);

?>

Page 17: PHP Aula07 - conexão Com Banco de Dados

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);

?>

Page 18: PHP Aula07 - conexão Com Banco de Dados

5ª ETAPA – Inserindo e Recebendo dados do Banco

Page 19: PHP Aula07 - conexão Com Banco de Dados

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

Page 20: PHP Aula07 - conexão Com Banco de Dados

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);

Page 21: PHP Aula07 - conexão Com Banco de Dados

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

Page 22: PHP Aula07 - conexão Com Banco de Dados

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);

?>

Page 23: PHP Aula07 - conexão Com Banco de Dados

Atividade

Mini Projeto PHP

23

Page 24: PHP Aula07 - conexão Com Banco de Dados

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