Sei sulla pagina 1di 80

Ferramentas de Construção de Websites

Izequiel Pereira de Norões

Módulo 6 – Introdução a PHP


Apresentação
• Professor:
– Izequiel Pereira de Norões
– Bacharel em Informática (Unifor)
– Pós em Gerência Estratégica da Informação (Unifor)
– Pós em Tecnologias da Informação – Ênfase Web (UFC)

Contato: izequiel@gmail.com

Material da disciplina:
http://fatene.ipn.eti.br

Izequiel Pereira de Norões - 2007


PHP/MySQL
Desenvolvimento Web com
Banco de Dados

Izequiel Pereira de Norões - 2007


PHP

Izequiel Pereira de Norões - 2007


O QUE É PHP?

• É uma linguagem de criação de scripts para


Web
• Existe um servidor que interpreta os
comandos php embutidos em uma página
html
• Criado em 1994, por Rasmus Lerdorf e
definido então como Personal Home Page
• Sofreu um aperfeiçoamento em 2001
passando a se chamar Hipertext
Preprocessor
• É um produto de código-fonte aberto
• Em agosto de 2004, foi lançada a versão 5

Izequiel Pereira de Norões - 2007


POR QUE VOCÊ UTILIZARIA O PHP?

Alto desempenho

Interfaces para muitos sistemas diferentes de bancos
de dados

Bibliotecas integradas para muitas tarefas comuns da
Web

Baixo custo

Fácil de aprender e utilizar

Portabilidade

Disponibilidade de código-fonte

De acordo com levantamento da NetCraft,


16,9 milhões de sites no mundo inteiro utilizam o PHP.
Isso corresponde a 31,9% dos sites da Web.
COMO CONSEGUIR O PHP?

Baixe-o gratuitamente de:


http://www.php.net
O QUE É APACHE?

• É o servidor web responsável por


interpretar os comandos PHP.

http://www.apache.org

Izequiel Pereira de Norões - 2007


UTILIZANDO
O PHP

Izequiel Pereira de Norões - 2007


PHP x HTML

O código PHP pode ser embutido dentro da


página HTML.
Utilizam-se os seguintes delimitadores:
– <? - Indica o início do código PHP

– ?> - Indica o final do código PHP


EXEMPLO:
...
<body>
Aqui é código html.
<?
echo “Aqui é código PHP!”;
?>
Aqui temos html novamente.
</body> Izequiel Pereira de Norões - 2007
PHP x HTML
– Comandos PHP devem acabar com ponto-e-
virgula(;).

– Para utilizar as tags html no código PHP,


utilize a função echo.

<?
echo “<b>Escrevendo em negrito!</b>”;
?>

Izequiel Pereira de Norões - 2007


VARIÁVEIS e TIPOS DE DADOS
– Variáveis não precisam ser definidas antes de
serem usadas.

– Nomes de variáveis iniciam com cifrão ($),


não tem comprimento
– pré-determinado, diferenciam maiúsculas de
minúsculas e
– não podem começar com um dígito.

– O PHP é uma linguagem de tipificação fraca.

– O tipo da variável é definido de acordo com o


valor atribuído a ela.

Izequiel Pereira de Norões - 2007


VARIÁVEIS
ACESSANDO VARIÁVEIS DE FORMULÁRIO
• Utilize diretamente o nome do campo, como
nome da variável. Se você tem um campo
chamado cor, no PHP que processa o
formulário, você terá a variável $cor;
• Utilize os vetores associativos
$HTTP_POST_VARS[“nomeDaVariavel”] e
$HTTP_GET_VARS[“nomeDaVariavel”].

Izequiel Pereira de Norões - 2007


OPERADORES

OPERADORES ARITMÉTICOS
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Módulo - Retorna o módulo da
divisão inteira de dois números

OPERADOR DE STRING
. Concatena duas strings

Izequiel Pereira de Norões - 2007


OPERADORES
OPERADOR DE ATRIBUIÇÃO
= Atribuição
$total = 0; // A variável $total recebe o valor
ZERO.
OPERADORES DE ATRIBUIÇÃO DE COMBINAÇÃO
+= -= *= /= %= .=
$total += 5; // A variável $total é
adicionada de 5.
// Equivale a $total = $total + 5
OPERADORES DE INCREMENTO E DECREMENTO
++ --
$total++; // A variável $total é
adicionada de 1.
// Equivale a $total = $total + 1
Izequiel Pereira de Norões - 2007
OPERADORES
OPERADORES DE COMPARAÇÃO
== Atribuição
!= Não igual a
<> Não igual a
< Menor que
> Maior que
<= Menor que ou igual a
>= Maior que ou igual a

OPERADORES LÓGICOS
! NO (Não)
&& AND (E)
|| OR (Ou)
Izequiel Pereira de Norões - 2007
OPERADORES
O OPERADOR TERNÁRIO
condição ? valor_se_true :
valor_se_false;
$resultado = $nota > 7 ? “Aprovado” :
“Reprovado”;

O OPERADOR DE SUPRESSÃO DE ERRO


@Omite mensagens de erros oriundas
da execução do script
$a = @(13/0);

Izequiel Pereira de Norões - 2007


ESTRUTURAS DE DECISÃO
INSTRUÇÕES IF-ELSE
if ( condição )
{
// Comandos a serem executados caso a
condição seja verdadeira
}
else
{
// Comandos a serem executados caso a
condição seja falsa
}

Izequiel Pereira de Norões - 2007


ESTRUTURAS DE DECISÃO
INSTRUÇÕES IF-ELSE
if ( $nota >= 7 )
{
echo “Aluno Aprovado!”;
}
else
{
echo “Aluno
Reprovado!”;
}

Izequiel Pereira de Norões - 2007


ESTRUTURAS DE DECISÃO
INSTRUÇÕES ELSEIF
if ( condição1 )
{
// Comandos a serem executados caso a
condição1 seja verdadeira
}
elseif ( condição2 )
{
// Comandos a serem executados caso a
condição2 seja verdadeira
}
elseif ( condição3 )
{
// Comandos a serem executados caso a
condição3 seja verdadeira
}
Izequiel Pereira de Norões - 2007
ESTRUTURAS DE DECISÃO
INSTRUÇÕES ELSEIF
if ( $nota >= 7 )
{
echo “Aluno Aprovado!”;
}
elseif ( $nota >= 4 )
{
echo “Aluno apto a fazer Prova Final!”;
}
else
{
echo “Aluno Reprovado!”;
}
Izequiel Pereira de Norões - 2007
ESTRUTURAS DE DECISÃO
INSTRUÇÕES SWITCH
switch( $variavel )
{case 1 :
// Comandos a serem executados caso o valor da
variável seja 1
break;
case 2 :
// Comandos a serem executados caso o valor da
variável seja 2
break;
case 3 :
// Comandos a serem executados caso o valor da
variável seja 3
break;
default :
// Comandos a serem executados caso o valor da
variável não corresponda a nenhum dos valores
especificados anteriormente
break; Izequiel Pereira de Norões - 2007
}
ESTRUTURAS DE DECISÃO
INSTRUÇÕES SWITCH
switch( $tipoUsuario )
{
case 1 :
echo “Supervisor!”;
break;
case 2 :
echo “Gerente!”;
break;
default :
echo “Usuário Comum!”;
break;
}
Izequiel Pereira de Norões - 2007
ESTRUTURAS DE ITERAÇÃO
LOOPS WHILE
while ( condição )
{
// Comandos a serem executados
enquanto a condição seja verdadeira
}

$i = 1;
while ( $i <= 10 )
{
echo $i;
$i++;
}
Izequiel Pereira de Norões - 2007
ESTRUTURAS DE ITERAÇÃO
LOOPS DO..WHILE
do
{
// Comandos a serem executados
iterativamente
}
while ( condição )

$i = 1;
do
{
echo $i;
$i++;
}
while ( $i <= 10 ) Izequiel Pereira de Norões - 2007
ESTRUTURAS DE ITERAÇÃO
LOOPS FOR
for ( valorInicial ; condição ; incremento )
{
// Comandos a serem executados
iterativamente
}

for ( $i = 1 ; i <= 10 ; i++ )


{
echo $i;
}

Izequiel Pereira de Norões - 2007


ESTRUTURAS DE ITERAÇÃO
INTERROMPENDO UMA ESTRUTURA DE ITERAÇÃO
• BREAK – Aborta a execução da estrutura
iterativa
• CONTINUE – Força a próxima iteração
• EXIT – Encerra a execução do script

Izequiel Pereira de Norões - 2007


UTILIZANDO ARRAYS
Um array (vetor) é um conjunto agrupado de
valores, identificados por uma única
variável.

VANTAGENS DA UTILIZAÇÃO DE ARRAYS


• Usando loops, podemos aplicar operações a
todos os elementos do array
• O conjunto inteiro de informações pode ser
movido como uma única unidade
• Reutilização de código – existem diversos
métodos prontos para manipular arrays
(ordenação, classificação)

Izequiel Pereira de Norões - 2007


UTILIZANDO ARRAYS
ARRAYS NUMERICAMENTE INDEXADOS
$cores = array( “Vermelho” , ”Amarelo” ,
”Azul” );

echo $cores[0]; // Imprimirá Vermelho

for ( $i = 0 ; $i < 3 ; $i++ )


echo $cores[$i]; // Imprimirá as três
cores

Izequiel Pereira de Norões - 2007


UTILIZANDO ARRAYS
ARRAYS ASSOCIATIVOS
Aceitam qualquer coisa (número,
string) como índice.

$cores[“vermelho”] = “#FF0000”;
$cores[“amarelo”] = “#FFFF00”;
$cores[“azul”] = “#0000FF”;

A inicialização acima equivale a:

$cores =
array( “vermelho”=>”#FF0000”,
“amarelo”=>”#FFFF00”,
“azul”=>”#0000FF”);
Izequiel Pereira de Norões - 2007
UTILIZANDO ARRAYS
UTILIZANDO ARRAYS ASSOCIATIVOS
...
<body bgcolor=”<?= $cores[“azul”] ?
>”>

<font color=”<? echo


$cores[“amarelo”]; ?>”>
...

Depois de interpretado pelo servidor, o


código acima resultaria em:
...
<body bgcolor=”#0000FF”>
<font color=”#FFFF00”>
Izequiel Pereira de Norões - 2007
...
UTILIZANDO ARRAYS
UTILIZANDO A FUNÇÃO each()
A função each() retorna um array cujos
índices são:
• key e 0 – contendo a chave a chave do
elemento atual
• value e 1 – contendo o valor do elemento
atual
while ( $elemento = each( $cores ) )
{
echo $elemento[ “key“ ].” - “.
$elemento[ “value” ].”<br>”;
}
Resultaria em:
vermelho - #FF0000
amarelo - #FFFF00
azul - #0000FF Izequiel Pereira de Norões - 2007
UTILIZANDO ARRAYS
UTILIZANDO A FUNÇÃO list()
A função list() quebra um array em vários
valores.

list( $cor1, $cor2, $cor3 ) = $cores;

Isso equivale a:
$cor1 = $cores[“vermelho”];
$cor2 = $cores[“amarelo”];
$cor3 = $cores[“azul”];
Ou, ainda:
$cor1 = “#FF0000”;
$cor2 = “#FFFF00”;
$cor3 = “#0000FF”;
Izequiel Pereira de Norões - 2007
CLASSIFICANDO ARRAYS
UTILIZANDO sort()
sort( $nomeDoArray ):
Resultado: ordena o array. Todas as letras maiúsculas
vêm antes de todas as letras minúsculas.

OUTRAS FUNÇÕES DE CLASSIFICAÇÃO


• asort() - classifica um array associativo, ordenando
pelos valores;
• ksort() - classifica um array associativo, ordenando
pelas chaves;
• rsort() - classifica um array numérico
decrescentemente;
• arsort() - classifica um array associativo
decrescentemente, ordenando pelos valores;
• krsort() - classifica um array associativo
decrescentemente, ordenando pelas chaves.
Izequiel Pereira de Norões - 2007
REORDENANDO ARRAYS
FUNÇÕES PARA REORDENAÇÃO
• shuffle( $nomeDoArray ) - ordena
aleatoriamente os elementos do array;
• array_reverse( $nomeDoArray ) - cria um
novo array como o mesmo conteúdo do
original só que na ordem inversa.

Izequiel Pereira de Norões - 2007


OUTRAS FUNÇÕES ÚTEIS DE ARRAYS
• current() ou pos() - retornam o elemento atual;
• each() - retorna o elemento atual e avança o
ponteiro;
• reset() - move o ponteiro para o primeiro elemento;
• end() - move o ponteiro para o último elemento;
• next() - move o ponteiro para o próximo elemento e
o retorna;
• prev() - move o ponteiro para o elemento anterior e
o retorna;
• count() ou sizeof() - retornam o número de
elementos do array;
• array_count_values() - retorna um array
associativo contendo uma tabela de freqüências
(conta quantas vezes cada valor único ocorre no
array);
• extract() - [somente para arrays associativos]. Cria
variáveis cujos nomes correspondem às chaves do
array e os valores correspondem
Izequiel aos valores
Pereira de Norões - 2007
armazenados no array.
MANIPULAÇÃO DE STRINGS
FORMATANDO STRINGS
• trim() - elimina os espaçoes em branco
do início e do final da string, retornando
a string resultante.
• ltrim() - elimina somente os espaços em
branco do início
• chop() - elimina somente os espaços em
branco do final
• nl2br() - substitui as novas linhas da
string pela tag <br> do html

Izequiel Pereira de Norões - 2007


MANIPULAÇÃO DE STRINGS
ALTERANDO A CAIXA DE UMA STRING
• strtoupper() - Coloca a string toda em
letras maiúsculas
• strtolower() - coloca a string toda em letras
minúsculas
• ucfirst() - coloca o primeiro caractere de
string em letra maiúscula (apenas se ele for
alfabético)
• ucwords() - coloca o primeiro caractere de
cada palavra em letra maiúscula (apenas
para caracteres alfabéticos)

Izequiel Pereira de Norões - 2007


MANIPULAÇÃO DE STRINGS
FORMATANDO STRINGS PARA
ARMAZENAMENTO
• AddSlashes() - Adiciona automaticamente
uma barra invertida (\) antes de caracteres
especiais. Utilize-a antes de gravar dados
no banco.
• StripSlashes() - Remove as barras
invertidas (\) localizadas antes de
caracteres especiais. Utilize-a ao ler dados
do banco e em conjunto com AddSlashes().

Izequiel Pereira de Norões - 2007


MANIPULAÇÃO DE STRINGS
UNINDO E DIVIDINDO STRINGS
• explode() - recebe uma string de entrada e uma
string separadora. Retorna um array contendo as
partes da divisão da string de entrada com a string
separadora.
$email = “izequiel@hotmail.com”;
$partes = explode ( $email, @ );
$alias = $partes[0]; // $alias = “izequiel”
$dominio = $partes[1]; // $dominio =
“hotmail.com”

• implode() - recebe a string de união e um array.


Retorna uma string única, contendo todos os
elementos do array “separados” pela string de união.
$email = implode( “@”, $partes ); // $email =
“izequiel@hotmail.com”

Izequiel Pereira de Norões - 2007


MANIPULAÇÃO DE STRINGS
UNINDO E DIVIDINDO STRINGS
• substr() - permite acessar uma string entre
determinados pontos inicial e final dela.
String substr( string string, int inicio, [ int
comprimento ] );

$string = “Eu uso Software Livre!”;


$res = substr( $string, 3 ); // $res = “uso Software
Livre!”
$res = substr( $string, -6 ); // $res = “Livre!”
$res = substr( $string, 0, 6 );// $res = “Eu uso”
$res = substr( $string, 6, -7 ); // $res =
“Software”

QUAL O TAMANHO DE UMA STRING?


Use strlen() pra obter essa resposta.
Izequiel Pereira de Norões - 2007
MANIPULAÇÃO DE STRINGS
COMPARANDO STRINGS
As funções a seguir recebem duas strings
(str1 e str2) e retorna um inteiro:
0, para o caso das strings serem iguais
um número negativo, para o caso de str1 ser
lexicograficamente menor que str2
um número positivo, para o caso de str1 ser
lexicograficamente maior que str2
• strcmp() - compara duas strings, diferenciando
maiúsculas de minúsculas
• strcasecmp() - ignora distinções entre maiúsculas e
minúsculas
• strnatcmp() e strnatcasecmp() - tentam imitar um
humano na comparação de strings.
? Com strcmp(), “2” é maior do que “12”. Com
strnatcmp() ocorre o contrário.
Izequiel Pereira de Norões - 2007
MANIPULAÇÃO DE STRINGS
LOCALIZANDO STRINGS EM STRINGS
As funções a seguir recebem duas strings
(str1 e str2):
• strstr() - Retorna str1 a partir da primeira
ocorrência de str2, ou false caso não exista
nenhuma ocorrência;
• strchr() - O mesmo que strstr() só que str2 deve ser
apenas um caractere;
• stristr() - O mesmo que strstr() só que ignora
distinções entre maiúsculas e minúsculas;
• strrstr() - retorna str1 a partir da última ocorrência
de str2, ou false caso não exista nenhuma
ocorrência.
• strpos() - ao invés de uma string, retorna a posição
em que str2 ocorre pela primeira vez em str1.
• strrpos() - semelhante à strpos(), só que str2 deve
ser um caractere obrigatoriamente e ela retorna a
posição em que este
Izequiel caractere
Pereira de Norõesocorre
- 2007 pela última
vez em str1.
MANIPULAÇÃO DE STRINGS
SUBSTITUINDO SUBSTRINGS

• str_replace()
string str_replace( string agulha, string
nova_agulha, string palheiro );
Essa função substituirá todas as instâncias de
agulha no palheiro por nova_agulha.

• substr_replace()
string substr_replace( string string, string
substituta, int inicio, [int comp] );
Essa função substituirá parte da string por
substituta. Início indica a partir de onde
começará a substituição e comp delimita o
fim. Izequiel Pereira de Norões - 2007
REUTILIZAÇÃO DE CÓDIGO
Require()
require ( “nomedoarquivo.extensao” );
• É ligeiramente mais rápida;
• Para incluir código PHP, este deve estar
entre tags PHP (<?, ?>) no arquivo a ser
incluso;
• É executada na primeira vez em que a
instrução é analisada sintaticamente.

Include()
include ( “nomedoarquivo.extensao” );
• Só ocorrerá a inserção, se a instrução
include vier a ser executada;
• Pode retornar um valor.
Izequiel Pereira de Norões - 2007
UTILIZANDO FUNÇÕES
• Maior legibilidade ao código;
• Possibilidade de reutilização;
• Podem receber valores (parâmetros) –
quando for necessário que a
funcionalidade varie de acordo com uma
situação particular;
• Podem retornar valores – como resposta
ao processamento executado.
PROTÓTIPO DE FUNÇÃO
Informa o tipo de retorno e parâmetros necessários
à execução.

TipoDeRetorno nomeDaFuncao( tipo parametro1,


[ tipo parametro2 ] );

! Você receberá umIzequiel


fatal error ao chamar uma
Pereira de Norões - 2007
função que não existe!
CRIANDO SUAS PRÓPRIAS FUNÇÕES
Function
nomeDaFuncao( $parametro1,
$parametro2 = 2 )
{
...
return resultado;
}
REGRAS PARA NOMES
• Distinguem maiúsculas de
minúsculas;
• Não pode ter o mesmo nome que
uma função pré-existente;
• Só pode conter letras, dígitos e
sublinhados;
• Não pode iniciar
Izequielcom um
Pereira de dígito.
Norões - 2007
CRIANDO SUAS PRÓPRIAS FUNÇÕES
PASSAGEM POR VALOR
Uma cópia da variável é criada

PASSAGEM POR REFERÊNCIA


A variável original (exterior à função) é
alterada.
Utilize um e comercial (&) antes do nome do
parâmetro na declaração da funçao.
Funcao funcao2 ( &$parametro1 )
{
...
}

Izequiel Pereira de Norões - 2007


PHP ORIENTADO A OBJETOS
ESTRUTURA DE UMA CLASSE
class NomeDaClasse
{
var $atributo1;
var $atributo2;
function operacao1()
{
}
function operacao2( $param1, $param2 )
{
this->atributo1 = $param1;
}
}
! Para acessar um atributo de dentro da
própria classe, utilize o operador this!
Izequiel Pereira de Norões - 2007
PHP ORIENTADO A OBJETOS
CONSTRUTOR
• Função chamada quando um objeto da
classe é instanciado;
• É uma função que leva o mesmo nome
que a classe.

! O PHP NÃO suporta sobrecarga de


funções.

UTILIZANDO A NOSSA CLASSE


$a = new NomeDaClasse();
echo $a->atributo1;
$a->operacao2();
Izequiel Pereira de Norões - 2007
ENVIANDO E-MAIL
mail()
mail( string destinatario, string assunto, string
mensagem, [ string adicionais ] );
• Adicionais pode ser: remetente, cópia
conjunta, cópia oculta.

Izequiel Pereira de Norões - 2007


GERENCIANDO DATA E HORA
date()
• Aceita dois parâmetros: o primeiro é uma
string de formato, e o segundo (opcional) é
um registro de data/hora do UNIX;
• Se o segundo parâmetro não for passado,
assume como padrão a data/hora atual.
CÓDIGOS PARA A FUNÇÃO date()
h – hora do dia em formato 12 horas com zeros iniciais;
H – hora do dia em formato 24 horas com zeros iniciais;
i – minutos depois da hora com zeros iniciais;
s – segundos depois do minuto com zeros iniciais;
d – dia do mês como um número de 2 dígitos com zeros
iniciais;
D – dia da semana no formato de texto abreviado [Mon
- Sun];
m – mês do ano como um número de dois algarismos
com zeros iniciais;
M – mês do ano no formato abreviado de texto de 3
caracteres [Jan – Dec];
y – ano no formatoIzequiel
de 2Pereira
algarismos;
de Norões - 2007
Y – ano no formato de 4 algarismos.
GERENCIANDO DATA E HORA
getdate()
• Recebe um registro de data/hora do UNIX
e retorna um array associativo
representado as partes desta data.

PARES DE CHAVE-VALOR DO ARRAY


RETORNADO POR getdate();
mday – dia do mês, numérico
mon – mês, numérico
year – ano, numérico
month – mês, formato de texto completo
seconds – segundos, numérico
minutes – minutos, numérico
hours – horas, numérico
Izequiel Pereira de Norões - 2007
GERENCIANDO DATA E HORA
EU QUERO A DATA DE HOJE

1) date()
echo date(“d m Y”); // reproduz 21
September 2004

2) getdate()
$data = getdate( date(“U”) );
$dia = $data[mday];
$mes = $data[mon];
$ano = $data[year];
$data = “$dia/$mes/$ano”;
echo $data; // reproduz
21/09/2004 Izequiel Pereira de Norões - 2007
UTILIZANDO COOKIES
COOKIES são informações armazenadas na
máquina do cliente.

Int setcookie( string nome [, string valor [, int


expiração [, string caminho [, string dominio
[, int seguro ]]]]] )

ONDE:
nome – nome da variável cookie
valor – valor da variável cookie
expiração – data além da qual o cookie não é mais
importante
caminho e domínio – servem para especificar as páginas
nas quais a variável é importante
seguro – indica que o cookie não será enviado em uma
conexão de HTTPIzequiel
simples
Pereira de Norões - 2007
UTILIZANDO COOKIES
PARA ACESSAR UMA VARIÁVEL COOKIE
$HTTP_COOKIE_VARS[“nomeDaVariavelCoo
kie”]

PARA EXCLUIR UMA VARIÁVEL COOKIE


Utilize setcookie passando como parâmetro
apenas o nome da variável.
setcookie(“nomeDaVariavelCookie”);

PROBLEMAS RELACIONADOS A COOKIES


• Alguns navegadores não aceitam cookies;
• Os usuários têm o direito de desativar os
cookies em seus navegadores.

Izequiel Pereira de Norões - 2007


SESSÃO
• É o tempo que o usuário permanece
conectado ao site;
• Para cada sessão, o PHP gera um ID único
de sessão. Esse ID fica armazenado no
cliente pelo tempo da sessão;
• As variáveis de sessão ficam armazenadas
no servidor;
• Utilizando sessão no PHP, existem funções
prontas para manipular automaticamente os
cookies.

Izequiel Pereira de Norões - 2007


UTILIZANDO SESSÃO
1) INICIANDO UMA SESSÃO
session_start();

2) REGISTRANDO UMA VARIÁVEL DE SESSÃO


session_register(“nomeDaVariavel”); // não
colocar cifrão

3) UTILIZANDO UMA VARIÁVEL DE SESSÃO


session_start();
$HTTP_SESSION_VARS[“nomeDaVariavel”];
• Use
session_is_registered(“nomeDaVariavel”)
para saber se uma variável é de sessão.
Izequiel Pereira de Norões - 2007
UTILIZANDO SESSÃO
4) REMOVENDO REGISTROS DE
VARIÁVEIS
session_unregister(“nomeDaVariavel”);

5) DESTRUINDO UMA SESSÃO


session_destroy();

Izequiel Pereira de Norões - 2007


MySQL

Izequiel Pereira de Norões - 2007


O QUE É MySQL?
• É um SISTEMA GERENCIADOR DE
BANCO DE DADOS.
• Permite multi-acesso;
• Permite autenticação de usuário.

Izequiel Pereira de Norões - 2007


Por que você utilizaria o MySQL?
• Desempenho;
• Baixo Custo;
• Facilidade de Uso;
• Portabilidade;
• Código-fonte.

Izequiel Pereira de Norões - 2007


COMO CONSEGUIR O MySQL?

Baixe-o gratuitamente de:


http://www.mysql.com
Documentação
http://dev.mysql.com/doc/mysql/pt/index.html
UTILIZANDO
O MySQL

Izequiel Pereira de Norões - 2007


Ferramentas administrativas para o MySQL
MySQL Control Center (ou MySQLCC) é uma interface amigável
que trabalha remotamente com o MySQL. MySQLCC torna fácil as
tarefas de criar banco de dados e tabelas, escrever e executar
comandos SQL (em um editor com distinção de cores), visualizar o
conteúdo de suas tabelas.

Izequiel Pereira de Norões - 2007


Ferramentas administrativas para o MySQL
MySQL Administrator é uma poderosa ferramenta de administração
visual de seus servidores MySQL com ela você pode acompanhar como
facilidade suas operações, além de integrar gerenciamento e manutenção
na mesma ferramenta de forma intuitiva. Engloba todas as operações
necessárias aos BDAs e Desenvolvedores em ambiente visual.

Izequiel Pereira de Norões - 2007


TIPOS DE DADOS MySQL

NUMÉRICOS
TINYINT[(M)]
SMALLINT[(M)] MEDIUMINT[(M)]
INT[(M)] INTEGER[(M)]
BIGINT[(M)]
FLOAT(precisão) FLOAT[(M,D)]
DOUBLE[(M,D)]
REAL[(M,D)] DECIMAL[(M,D)]
NUMERIC[(M,D)]
DOUBLE PRECISION[(M,D)]

• Use ZEROFILL para completar com


Izequiel Pereira de Norões - 2007
TIPOS DE DADOS MySQL

DATA/HORA
DATE Uma data
(YYYY-MM-DD)
TIME Um horário
(HH:MM:SS)
DATETIME Uma data e
uma hora (YYYY-MM-DDHH:MM:SS)
TIMESTAMP[(M)] Um registro de
data/hora.
YEAR[(2|4)] Um ano.
Izequiel Pereira de Norões - 2007
TIPOS DE DADOS MySQL

STRING
CHAR(M) Texto de tamanho
fixo de M caracteres.
VARCHAR(M) Texto de tamanho
variável de M caracteres.

TINYBLOB TINYTEXT
BLOB TEXT
MEDIUMBLOB MEDIUMTEXT
LONGBLOB LONGTEXT
Izequiel Pereira de Norões - 2007
TIPOS DE TABELAS MySQL
MyISAM
• Indexed Sequential Access Method,
método padrão para armazenar registros
e arquivos.
HEAP
• Tabelas que ficam armazenadas em
memória;
• Extremamente rápidas;
• Em caso de queda, os dados serão
perdidos;
• Não aceitam colunas BLOB, TEXT e AUTO
INCREMENT.
BDB
• Tabelas seguras para transações;
• Suportam COMMIT e ROLLBACK.
Izequiel Pereira de Norões - 2007
PHP/MySQL

Izequiel Pereira de Norões - 2007


COMO CONSULTAR UM BD WEB?
1) Verificar e filtrar dados vindos do
usuário;
2) Configurar uma conexão com o banco
de dados apropriado;
3) Consultar o Banco de Dados;
4) Recuperar os resultados;
5) Apresentar os resultados de volta para
o usuário.

Izequiel Pereira de Norões - 2007


FILTRANDO DADOS DO USUÁRIO
1) Utilizar trim();
2) Verificar se as variáveis não estão
vazias;
3) Utilizar AddSlashes().

Izequiel Pereira de Norões - 2007


CONFIGURANDO UMA CONEXÃO
• mysql_pconnect();
• mysql_connect().

Int mysql_pconnect( [ string host


[:porta] [:/caminhodosoquete] ],
[ string usuario ], [ string
senha ] );

$conexao = mysql_pconnect( “localhost”


, “root”, “” );

Izequiel Pereira de Norões - 2007


ESCOLHENDO UM BANCO DE DADOS
• mysql_select_db();

Int mysql_select_db( string


bandoDeDados, [ int
conexao ] );

$banco =
mysql_select_db( exemplo ,
$conexao );

Izequiel Pereira de Norões - 2007


CONSULTANDO O BANCO DE DADOS
• mysql_query();
int mysql_query( string consulta, [ int
conexao ] );

• mysql_db_query();
int mysql_db_query( string bancoDeDados,
string consulta, [ int conexao ] );

$sql = “SELECT * FROM EMPREGADOS”;


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

Izequiel Pereira de Norões - 2007


RECUPERANDO OS RESULTADOS DA CONSULTA
• mysql_num_rows();
$totalRegistros = mysql_num_rows( $resultado );
• mysql_fetch_array( $resultado ) - retorna
um array associativo onde as chaves são os
nomes dos atributos e os valores são os
valores dos atributos;
• mysql_fetch_row( $resultado ) - retorna
um array enumerativo;
• mysql_fetch_object( $resultado ) - retorna
um objeto onde cada atributo da tabela
será um atributo do objeto.
While ( $linha = mysql_fetch_array ( $resultado ) )
{
echo “<br>NOME: “;
echo
htmlspecialchars( stripslashes(
Izequiel Pereira de Norões - 2007 $linha[“nome”] )
);
OUTRAS FUNÇÕES ÚTEIS
• mysql_affected_rows() - retorna o número
de registros afetados para o caso de
consultas INSERT, UPDATE e DELETE;
$totalRegistrosAfetados =
mysql_affected_rows( $resultado );

• mysql_free_result() - libera a memória


utilizada para armazenar o resultado;
mysql_free_result( $resultado );

• mysql_close() - fecha uma conexão de dados


não-persistente.
mysql_close( $conexao );

Izequiel Pereira de Norões - 2007


BIBLIOGRAFIA

WELLING Luke, THOMSON Laura. PHP e MySQL – Desenvolvimento Web.


Rio de Janeiro: Editora Campus, 2001.

http://www.php.net

Izequiel Pereira de Norões - 2007


Próximo módulo...
• Continua ... ASP

Izequiel Pereira de Norões - 2007

Potrebbero piacerti anche