PHP Conference Brazil 2015 - PHP + Sharepoint - Integrando Serviços Microsoft com PHP
PHP
-
Upload
pedro-correia -
Category
Documents
-
view
533 -
download
0
Transcript of PHP
Ferramentas de Construção de Websites
Izequiel Pereira de Norões
Módulo 6 – Introdução a PHP
Izequiel Pereira de Norões - 2007
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: [email protected]
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
• É 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
O QUE É PHP?
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
Izequiel Pereira de Norões - 2007
• É o servidor web responsável por interpretar os comandos PHP.
http://www.apache.org
O QUE É APACHE?
Izequiel Pereira de Norões - 2007
UTILIZANDOO 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 PHPEXEMPLO:...<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
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”].
VARIÁVEIS
Izequiel Pereira de Norões - 2007
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
OPERADORES
Izequiel Pereira de Norões - 2007
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
OPERADORES
Izequiel Pereira de Norões - 2007
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)
OPERADORES
Izequiel Pereira de Norões - 2007
O OPERADOR TERNÁRIOcondiçã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);
OPERADORES
Izequiel Pereira de Norões - 2007
INSTRUÇÕES IF-ELSEif ( condição ){
// Comandos a serem executados caso a condição seja verdadeira
}else{
// Comandos a serem executados caso a condição seja falsa
}
ESTRUTURAS DE DECISÃO
Izequiel Pereira de Norões - 2007
INSTRUÇÕES IF-ELSEif ( $nota >= 7 ){
echo “Aluno Aprovado!”;}else{
echo “Aluno Reprovado!”;
}
ESTRUTURAS DE DECISÃO
Izequiel Pereira de Norões - 2007
INSTRUÇÕES ELSEIFif ( 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
}
ESTRUTURAS DE DECISÃO
Izequiel Pereira de Norões - 2007
INSTRUÇÕES ELSEIFif ( $nota >= 7 ){
echo “Aluno Aprovado!”;}elseif ( $nota >= 4 ){
echo “Aluno apto a fazer Prova Final!”;}else{
echo “Aluno Reprovado!”;}
ESTRUTURAS DE DECISÃO
Izequiel Pereira de Norões - 2007
INSTRUÇÕES SWITCHswitch( $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;}
ESTRUTURAS DE DECISÃO
Izequiel Pereira de Norões - 2007
INSTRUÇÕES SWITCHswitch( $tipoUsuario ){
case 1 :echo “Supervisor!”;break;
case 2 :echo “Gerente!”;break;
default :echo “Usuário Comum!”;break;
}
ESTRUTURAS DE DECISÃO
Izequiel Pereira de Norões - 2007
LOOPS WHILEwhile ( condição ){
// Comandos a serem executados enquanto a condição seja verdadeira
}
$i = 1;while ( $i <= 10 ){
echo $i;$i++;
}
ESTRUTURAS DE ITERAÇÃO
Izequiel Pereira de Norões - 2007
LOOPS DO..WHILEdo{
// Comandos a serem executados iterativamente
}while ( condição )
$i = 1;do{
echo $i;$i++;
}while ( $i <= 10 )
ESTRUTURAS DE ITERAÇÃO
Izequiel Pereira de Norões - 2007
LOOPS FORfor ( valorInicial ; condição ; incremento ){
// Comandos a serem executados iterativamente
}
for ( $i = 1 ; i <= 10 ; i++ ){
echo $i;}
ESTRUTURAS DE ITERAÇÃO
Izequiel Pereira de Norões - 2007
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
ESTRUTURAS DE ITERAÇÃO
Izequiel Pereira de Norões - 2007
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)
UTILIZANDO ARRAYS
Izequiel Pereira de Norões - 2007
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
UTILIZANDO ARRAYS
Izequiel Pereira de Norões - 2007
ARRAYS ASSOCIATIVOSAceitam 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”);
UTILIZANDO ARRAYS
Izequiel Pereira de Norões - 2007
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”>...
UTILIZANDO ARRAYS
Izequiel Pereira de Norões - 2007
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
atualwhile ( $elemento = each( $cores ) ){
echo $elemento[ “key“ ].” - “.$elemento[ “value” ].”<br>”;
}Resultaria em:vermelho - #FF0000amarelo - #FFFF00azul - #0000FF
UTILIZANDO ARRAYS
Izequiel Pereira de Norões - 2007
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”;
UTILIZANDO ARRAYS
Izequiel Pereira de Norões - 2007
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.
CLASSIFICANDO ARRAYS
Izequiel Pereira de Norões - 2007
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.
REORDENANDO ARRAYS
Izequiel Pereira de Norões - 2007
• 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 aos valores armazenados no array.
OUTRAS FUNÇÕES ÚTEIS DE ARRAYS
Izequiel Pereira de Norões - 2007
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
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
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)
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
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().
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
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 = “[email protected]”;$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 = “[email protected]”
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
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.
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
COMPARANDO STRINGSAs funções a seguir recebem duas strings
(str1 e str2) e retorna um inteiro:0, para o caso das strings serem iguaisum número negativo, para o caso de str1 ser
lexicograficamente menor que str2um 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.
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
LOCALIZANDO STRINGS EM STRINGSAs 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 caractere ocorre pela última vez em str1.
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
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.
MANIPULAÇÃO DE STRINGS
Izequiel Pereira de Norões - 2007
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.
REUTILIZAÇÃO DE CÓDIGO
Izequiel Pereira de Norões - 2007
• 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ÇÃOInforma o tipo de retorno e parâmetros necessários
à execução.
TipoDeRetorno nomeDaFuncao( tipo parametro1, [ tipo parametro2 ] );
! Você receberá um fatal error ao chamar uma função que não existe!
UTILIZANDO FUNÇÕES
Izequiel Pereira de Norões - 2007
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 com um dígito.
CRIANDO SUAS PRÓPRIAS FUNÇÕES
Izequiel Pereira de Norões - 2007
PASSAGEM POR VALORUma cópia da variável é criada
PASSAGEM POR REFERÊNCIAA 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 ){
...}
CRIANDO SUAS PRÓPRIAS FUNÇÕES
Izequiel Pereira de Norões - 2007
ESTRUTURA DE UMA CLASSEclass 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!
PHP ORIENTADO A OBJETOS
Izequiel Pereira de Norões - 2007
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();
PHP ORIENTADO A OBJETOS
Izequiel Pereira de Norões - 2007
mail()mail( string destinatario, string assunto, string
mensagem, [ string adicionais ] );• Adicionais pode ser: remetente, cópia
conjunta, cópia oculta.
ENVIANDO E-MAIL
Izequiel Pereira de Norões - 2007
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 formato de 2 algarismos;Y – ano no formato de 4 algarismos.
GERENCIANDO DATA E HORA
Izequiel Pereira de Norões - 2007
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éricomon – mês, numéricoyear – ano, numéricomonth – mês, formato de texto completoseconds – segundos, numéricominutes – minutos, numéricohours – horas, numérico
GERENCIANDO DATA E HORA
Izequiel Pereira de Norões - 2007
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
GERENCIANDO DATA E HORA
Izequiel Pereira de Norões - 2007
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 cookievalor – valor da variável cookieexpiração – data além da qual o cookie não é mais
importantecaminho e domínio – servem para especificar as páginas
nas quais a variável é importanteseguro – indica que o cookie não será enviado em uma
conexão de HTTP simples
UTILIZANDO COOKIES
Izequiel Pereira de Norões - 2007
PARA ACESSAR UMA VARIÁVEL COOKIE$HTTP_COOKIE_VARS[“nomeDaVariavelCoo
kie”]
PARA EXCLUIR UMA VARIÁVEL COOKIEUtilize 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.
UTILIZANDO COOKIES
Izequiel Pereira de Norões - 2007
• É 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.
SESSÃO
Izequiel Pereira de Norões - 2007
1) INICIANDO UMA SESSÃOsession_start();
2) REGISTRANDO UMA VARIÁVEL DE SESSÃOsession_register(“nomeDaVariavel”); // não
colocar cifrão
3) UTILIZANDO UMA VARIÁVEL DE SESSÃOsession_start();$HTTP_SESSION_VARS[“nomeDaVariavel”];• Use
session_is_registered(“nomeDaVariavel”) para saber se uma variável é de sessão.
UTILIZANDO SESSÃO
Izequiel Pereira de Norões - 2007
4) REMOVENDO REGISTROS DE VARIÁVEIS
session_unregister(“nomeDaVariavel”);
5) DESTRUINDO UMA SESSÃOsession_destroy();
UTILIZANDO SESSÃO
Izequiel Pereira de Norões - 2007
MySQL
Izequiel Pereira de Norões - 2007
• É um SISTEMA GERENCIADOR DE BANCO DE DADOS.
• Permite multi-acesso;• Permite autenticação de usuário.
O QUE É MySQL?
Izequiel Pereira de Norões - 2007
• Desempenho;• Baixo Custo;• Facilidade de Uso;• Portabilidade;• Código-fonte.
Por que você utilizaria o MySQL?
COMO CONSEGUIR O MySQL?
Baixe-o gratuitamente de:
http://www.mysql.com
Documentaçãohttp://dev.mysql.com/doc/mysql/pt/index.html
Izequiel Pereira de Norões - 2007
UTILIZANDOO 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
NUMÉRICOSTINYINT[(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 zeros à esquerda os valores que tiverem menos algarismos que o especificado;
• Use UNSIGNED para criar inteiros iniciando em 0 (zero).
TIPOS DE DADOS MySQL
Izequiel Pereira de Norões - 2007
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.
• TIMESTAMP pode auxiliar nas transações.
TIPOS DE DADOS MySQL
Izequiel Pereira de Norões - 2007
STRING
CHAR(M) Texto de tamanho fixo de M caracteres.
VARCHAR(M) Texto de tamanho variável de M caracteres.
TINYBLOB TINYTEXTBLOB TEXTMEDIUMBLOB MEDIUMTEXTLONGBLOB LONGTEXT
• Campos BLOB (Binary Large Objects) armazenam quaisquer dados binários;
• Campos TEXT diferenciam maiúsculas de minúsculas.
TIPOS DE DADOS MySQL
Izequiel Pereira de Norões - 2007
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.
TIPOS DE TABELAS MySQL
Izequiel Pereira de Norões - 2007
PHP/MySQL
Izequiel Pereira de Norões - 2007
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.
COMO CONSULTAR UM BD WEB?
Izequiel Pereira de Norões - 2007
1) Utilizar trim();2) Verificar se as variáveis não estão
vazias;3) Utilizar AddSlashes().
FILTRANDO DADOS DO USUÁRIO
Izequiel Pereira de Norões - 2007
• mysql_pconnect();• mysql_connect().
Int mysql_pconnect( [ string host [:porta] [:/caminhodosoquete] ],
[ string usuario ], [ string senha ] );
$conexao = mysql_pconnect( “localhost” , “root”, “” );
CONFIGURANDO UMA CONEXÃO
Izequiel Pereira de Norões - 2007
• mysql_select_db();
Int mysql_select_db( string bandoDeDados, [ int conexao ] );
$banco = mysql_select_db( exemplo , $conexao );
ESCOLHENDO UM BANCO DE DADOS
Izequiel Pereira de Norões - 2007
• 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 );
CONSULTANDO O BANCO DE DADOS
Izequiel Pereira de Norões - 2007
• 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( $linha[“nome”] ) );
}
RECUPERANDO OS RESULTADOS DA CONSULTA
Izequiel Pereira de Norões - 2007
• 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 );
OUTRAS FUNÇÕES ÚTEIS
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