Apostila PHP MySql

March 5, 2019 | Author: Igor Schmidt | Category: Php, Databases, Array Data Structure, World Wide Web, Tecnologia
Share Embed Donate


Short Description

Uploaded from Google Docs...

Description

ESTA OBRA PODE SER REPRODUZIDA E DISTRIBUÍDA PARCIAL OU INTEGRALMENTE DESDE QUE CITADA A FONTE.

VENDA PROIBIDA

CID – COORDENADORIA DE INCLUSÃO DIGITAL IDORT – INSTITUTO DE ORGANIZAÇÃO RACIONAL DO TRABALHO EQUIPE CAPACITAÇÃO – ÁREA TÉCNICA

DOUGLAS DINIZ ALVES DANIEL PEREIRA MARTINS PAULO JORDÃO DA SILVA BOCCATTO

site: www.telecentros.sp.gov.br email: [email protected]

Indice

Objetivo Objetivo .............. ..................... .............. .............. .............. ............. ............. .............. .............. .............. ......... .. Justificati Justificativa va ............. .................... .............. ............. ............. .............. .............. .............. .............. ............ ..... Lógica de Programaçã Programação o ........ ............... .............. .............. .............. .............. .............. ............. ........ Seqüência Seqüência Lógica ............. .................... .............. .............. ............. ............. .............. .............. ........... .... Exercícios Exercícios – Lógica Lógica ............. .................... .............. .............. ............. ............. .............. .............. ......... .. PHP – História ............ ................... .............. ............. ............. .............. .............. .............. .............. .......... ... O que é PHP? ............. ................... ............. .............. .............. .............. ............. ............. .............. ........... .... Em que consiste consiste uma página página dinâmica dinâmica?? ............. .................... ............. ............. ......... .. Comunicaçã Comunicação o Cliente x Servidor Servidor ............. .................... ............. ............. .............. ............ ..... Delimitand Delimitando o o código código PHP PHP ........... ................. ............. .............. .............. .............. .............. ......... .. Exercício Exercício 01 .............. .................... ............. .............. .............. .............. .............. .............. ............. ........... ..... Comentários Comentários no PHP ............. .................... .............. ............. ............. .............. .............. .............. ....... Exercício Exercício 02 .............. .................... ............. .............. .............. .............. .............. .............. ............. ........... ..... Variáveis Variáveis ................... .......................... .............. .............. ............. ............. .............. .............. .............. .......... ... Exercício Exercício 03 .............. .................... ............. .............. .............. .............. .............. .............. ............. ........... ..... Tipos de Dados Dados Suportados Suportados .............. ..................... .............. ............. ............. .............. ........... .... Integer Integer (Inteiro) (Inteiro) ............. .................... .............. .............. .............. ............. ............. .............. ............. ...... Double Double (Dupla (Dupla Precisão) Precisão) ............. .................... .............. .............. ............. ............. .............. ......... .. Strings Strings .............. ..................... ............. ............. .............. .............. .............. .............. .............. ............. ........... ..... Exercício Exercício 04 .............. .................... ............. .............. .............. .............. .............. .............. ............. ........... ..... Exercício Exercício 05 .............. .................... ............. .............. .............. .............. .............. .............. ............. ........... ..... Booleano Booleano ............. .................... ............. ............. .............. .............. .............. .............. .............. ............. ......... ... Array Array ............. .................... .............. .............. .............. ............. ............. .............. .............. .............. .............. ....... Objeto Objeto ........ ............... .............. .............. .............. .............. .............. ............. ............. .............. .............. .......... ... Caracteres Caracteres de Escape Escape ................ ....................... .............. .............. .............. .............. ............. ......... ...

01 01 03 03 04 05 06 07 07 08 09 09 10 11 11 12 12 13 13 13 14 14 14 14 14

Exercício Exercício 06 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Operadores Operadores ............. .................... .............. ............. ............. .............. .............. .............. .............. ............ ..... Aritméticos Aritméticos ............. .................... .............. .............. ............. ............. .............. .............. .............. ............. ...... String String .......... ................. .............. .............. .............. ............. ............. .............. .............. .............. .............. ......... .. Exercício Exercício 07 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Atribuição Atribuição .............. .................... ............. .............. .............. .............. .............. .............. ............. ............. ......... Exercício Exercício 08 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Incrementaç Incrementação ão .............. .................... ............. .............. .............. .............. .............. .............. ............. ........ Lógicos Lógicos ............. .................... ............. ............. .............. .............. .............. .............. .............. ............. ........... ..... Comparação Comparação ............. .................... .............. ............. ............. .............. .............. .............. .............. ........... .... Integrando Integrando o PHP PHP ao HTML .............. ..................... .............. ............. ............. .............. ........... .... Métodos Métodos GET e POST .............. ..................... .............. .............. ............. ............. .............. ............ ..... Exercício Exercício 09 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Estruturas Estruturas de Controle Controle ............. .................... ............. ............. .............. .............. .............. ........... .... If .............. ..................... .............. ............. ............. .............. .............. .............. .............. .............. ............. ........... ..... Exercício Exercício 10 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Else ................. ........................ .............. .............. ............. ............. .............. .............. .............. .............. ............ ..... Exercício Exercício 11 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Elseif Elseif ......... ................ .............. ............. ............. .............. .............. .............. .............. .............. ............. ........... ..... Exercício Exercício 12 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Laços Laços ............. ................... ............. .............. .............. .............. .............. .............. ............. ............. .............. ......... While ................. ........................ .............. ............. ............. .............. .............. .............. .............. .............. .......... ... Exercício Exercício 13 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... For ............ .................. ............. .............. .............. .............. ............. ............. .............. .............. .............. ............ ..... Exercício Exercício 14 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Include Include ............. .................... .............. .............. ............. ............. .............. .............. .............. .............. ........... .... Exercício Exercício 15 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ......

15 16 16 16 16 17 17 18 19 19 20 20 21 21 21 22 22 22 23 23 24 24 24 25 25 25 26

Array Array .................... ........................... .............. .............. ............. ............. .............. .............. .............. .............. ....... Exercício Exercício 16 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... Listas Listas .............. ..................... .............. .............. .............. ............. ............. .............. .............. .............. ............ ..... Exercício Exercício 17 ................... .......................... ............. ............. .............. .............. .............. .............. ............. ...... MySql MySql – Banco de Dados .............. ..................... .............. ............. ............. .............. .............. ....... Popularizaçã Popularização o dos Banco de Dados ............. .................... ............. ............. .............. ......... O que que é um Sistema Sistema de Gerenc Gerenciament iamento o de Banco Banco de Dados? Dados? ...... PHP MyAdmin MyAdmin ............. .................... .............. ............. ............. .............. .............. .............. .............. ......... .. MySql MySql ......... ............... ............. .............. .............. .............. .............. .............. ............. ............. .............. ........... .... Como Como utiliza utilizarr o SQL para para mani manipula pularr os banco bancoss de dados dados MySQL MySQL . Comandos Comandos SQL ............. .................... .............. .............. .............. .............. .............. ............. ............. ....... Comando Comando SHOW ................. ........................ .............. .............. .............. .............. .............. ............. ........ .. Comando Comando USE ............ .................. ............. .............. .............. .............. .............. .............. ............. .......... .... Comando Comando CREATE .................. ......................... .............. .............. .............. .............. .............. ............ ..... Comando Comando INSERT INSERT ............. .................... .............. .............. .............. ............. ............. .............. ........... .... Comando Comando SELECT SELECT .......... ................. .............. .............. .............. ............. ............. .............. .............. ....... Comando Comando DESCRIBE DESCRIBE .............. ..................... ............. ............. .............. .............. .............. ............. ...... Comando Comando DROP ............. .................... .............. .............. .............. ............. ............. .............. .............. ....... Comando Comando DELETE DELETE ............ ................... .............. .............. .............. ............. ............. .............. ............ ..... Comando Comando UPDATE UPDATE ............. .................... .............. .............. .............. .............. ............. ............. .......... ... Roteiro Roteiro – Criação Criação de B.D. ............. .................... .............. .............. .............. ............. ............. ....... Estabelecen Estabelecendo do conexões conexões eentre ntre PHP e M MySql ySql .............. ..................... .............. ......... Selecionand Selecionando o a base de dados dados ......... ................ .............. ............. ............. .............. ............ ..... Realizando Realizando consultas consultas ................ ....................... .............. .............. ............. ............. .............. ........... .... Apagando Apagando resultados resultados ............. .................... .............. .............. .............. ............. ............. ............. ...... Número Número de linhas .............. ..................... .............. .............. .............. ............. ............. .............. .......... ... Utilizando Utilizando os resultados resultados ................. ........................ .............. .............. .............. .............. ............ .....

27 27 27 28 29 29 31 33 33 35 36 36 36 36 38 39 40 41 41 42 43 44 45 46 46 47 47

CRUD ............. .................... ............. ............. .............. .............. .............. .............. ............. ............. .............. ....... Projeto Projeto ............. .................... .............. ............. ............. .............. .............. .............. .............. .............. ............ ..... Respostas Respostas dos dos exercícios exercícios de lógica lógica ......... ............... ............. .............. .............. ............. ...... Plano de aula aula ............ ................... .............. .............. .............. .............. ............. ............. .............. ........... .... Bibliografi Bibliografia a .............. ..................... .............. .............. .............. .............. ............. ............. .............. ............ .....

48 54 78 79 84

PHP & MySql

1

Objetivo Capacitar os colaboradores dos Telecentros com o objetivo de criarem programas voltados à web para manipulação de páginas HTML, como como ta tamb mbém ém dese desenv nvol olvi vime ment nto o de raci racioc ocín ínio io lógi lógico co e noçõ noções es de gerenciamento de banco de dados relacional.

PHP & MySql

2

Justificativa Atualmente, com o avanço tecnológico, necessitamos cada vez mais da automatização de sistemas para facilitarmos e agilizarmos serviços, principalmente no que diz respeito à internet. Com o curso de PHP & MySql poderemos integrar a linguagem de programação com o acesso online onde será possível um ótimo controle das informações através de banco de dados.

PHP & MySql

3

Lógica de Programação O estudo da lógica é o estudo dos métodos e princípios usados para distinguir o raciocínio correto do incorreto. Esta definição não quer dize dizerr que que some soment ntee uma uma pess pessoa oa que que te tenh nhaa estu estuda dado do lógi lógica ca poss possaa raciocinar corretamente e encontrar soluções para diversos problemas. A habilidade de resolver problemas é natural em todo ser humano. Uma parte do estudo da lógica consiste no exame e na análise dos métodos incorretos do raciocínio (falácias), isto nos dá uma visão mais mais prof profun unda da dos dos prin princí cípi pios os do raci racioc ocín ínio io em gera gerall e nos nos auxi auxililiaa tamb ta mbém ém a ev evit itáá-lo los. s. Por Por últi último mo,, prop propor orci cion onaa ao estu estuda dant ntee cert certas as técnicas e métodos de fácil aplicação para determinar a correção ou incorreção de todos os raciocínios. O valor deste conhecimento reside no fato de ser menor a possibilidade de se cometer erros, quando é possível localizá-los mais facilmente. Lógi Lógica ca vem de “log “logos os”” que sig signifi nificca pala palavvra, ra, ex exp press ressãão, conceito, pensamento, discurso, razão.

Seqüência Lógica Estes pensamentos podem ser descritos como uma seqüência de instruções que devem ser seguidas para cumprir uma determinada tarefa, portanto, seqüência lógica são passos executados até atingir um objetivo ou solução de um problema.

PHP & MySql

4

Exercícios - Lógica 1) Quanto Quantoss retâng retângulo uloss existe existem m na figu figura ra abaix abaixo: o:

2. Uma lesma lesma está está num poço poço de 30m de de profun profundida didade. de. A cada cada dia dia ela sobe 3m e escorrega 2m. Em quantos dias sairá do poço? 3) O PR PRISIONEI NEIRO No antigo Egito, havia um prisioneiro em uma cela com duas saídas, cada uma delas com um guarda. Cada saída dava para um corredor diferente em que um dava para o campo e, portanto, para a liberdade e o outro para um fosso de crocodilos. Só os guardas sabiam qual a saída certa, mas um deles dizia sempre a verdade e outro mentia sempre. O prisioneiro não sabia nem qual a saída certa nem qual o guarda verdadeiro. Qual a pergunta (e uma só pergunta) que o prisioneiro deveria fazer a um dos guardas ao acaso, para saber qual a porta certa? 4) Una estes estes quatr quatro o pontos pontos apenas apenas com com três três retas, retas, sem leva levanta ntarr a pon ponta do lápis ou da caneta e acaban bando no ponto onto onde nde começou.

PHP & MySql

5

PHP - História A linguagem de programação PHP foi criada no outono de 1994 por Rasmus Lerford. No início era formada por um conjunto de scripts voltados à criação de páginas dinâmicas que Rasmus utilizava para monitorar o acesso ao seu currículo na internet. À medida que essa ferramenta foi crescendo em funcionalidades, Rasmus teve de escrever uma implementação em C, a qual permitia às pessoas desenvolverem de forma muito simples as suas aplicações aplicações para web. Rasmus Rasmus nomeou essa versão de PHP/FI (Personal Home Page / Forms Intepreter) e decidiu disponibilizar seu código na web, em 1995, para compartilhar com outras pessoas, bem como receber ajuda e correção de bugs. Em novembro de 1997 foi lançada a segunda versão do PHP. Naquel Naqu elee mome moment nto, o, apro aproxi xima mada dame ment ntee 50 mil mil domí domíni nios os ou 1% da internet já utilizava PHP. No mesmo ano Andi Gutmans e Zeev Suraski, dois dois estu estuda dant ntee que que util utiliz izav avam am PH PHPP em um proj projet eto o acad acadêm êmic ico o de comércio comércio eletrônico, eletrônico, resolveram resolveram cooperar com Rasmus Rasmus para aprimorar aprimorar o PHP. Para tanto, reescreveram todo o código-fonte, com base no PHP/FI 2, dando início ao PHP 3, disponibilizando oficialmente em junho de 1998. Dentre as principais características do PHP 3 estavam e exten ex tensi sibil bilid idad ade, e, a poss possibi ibililida dade de de cone conexã xão o com vá vário rioss banc bancos os de dados dados,, novos novos proto protoco colo los, s, uma uma sinta sintaxe xe mais mais consis consiste tent nte, e, supo suport rtee à orientação a objetos e uma nova API, que possibilitava a criação de novos módulos e que acabou por atrair vários desenvolvedores ao PHP. No final de 1998, o PHP já estava presente em cerca de 10% dos domínios na internet. Nessa época o significado da sigla PHP mudou

PHP & MySql

6

para PHP: Hypertext Processor, retratando assim a nova realidade de uma linguagem com propósitos mais amplos. No inverno de 1998, após o lançamento do PHP 3, Zeev e Andi começaram a trabalhar em uma reescrita do núcleo do PHP, tendo em vist vistaa melh melho orar rar sua sua perf perfor orm manc ance e modul odular arid idad adee em apli aplica caçõ ções es complexas. Para tanto, resolveram batizar este núcleo de Zend Engine, ou mecanismo Zend (Zeev + Andi). O PHP 4, baseado neste meca mecani nism smo, o, foi foi lanç lançad ado o ofic oficia ialm lmen ente te em maio maio de 2000 2000,, traz trazen endo do muitas melhorias e recursos novos, como seções, suporte a diversos servidores web, além da abstração de sua API, permitindo inclusive ser utilizado com linguagem para shell script. Nesse momento, o PHP já estava presente em cerca de 20% dos domínios da internet, além de ser utilizado por milhares de desenvolvedores ao redor do mundo. Apesar de todos os esforços, o PHP ainda necessitava maior suporte à orientação a objetos, tal qual existe em linguagens como C++ e Java. Tais recursos estão finalmente presentes no PHP 5, após um longo perí eríodo de desenv envolvime imento nto que que culm ulminou com sua disponibilização oficial em junho de 2004.

O que é PHP? PHP - Hypertext Processor – É uma linguagem de programação de código aberto muito utilizada, onde sua principal função é a de cria criaçã ção o de scri scrip pts, ts, que que são são exe xecu cuta tado doss no servi ervido dorr web para para a manipulação de página HTML, ou seja, utiliza-se PHP para criar páginas dinâ dinâm micas icas e auto autom mática ticas. s. Essa Essa ling lingua uage gem m é dife diferrente ente de outr outraas

PHP & MySql

7

linguagens, onde o código é interpretado e não compilado.

Em que consiste uma página dinâmica? Ente Entend ndee-se se por por uma uma pági página na dinâ dinâmi mica ca,, toda toda a pági página na que que é gerada quando existe um pedido no servidor, ou seja, a página que chega ao utilizador não existe “escrita” no servidor. Existem sim os conteú conteúdo dos, s, que que serã serão o depo depois is coloc colocad ados os nos nos resp respect ectiv ivos os locai locais, s, na página, consoante os pedidos. O melhor exemplo de um site dinâmico é um motor de pesquisa. É impossível - e impensável - armazenar toda todass as comb combin inaç açõe õess de pági página nass que que surg surgem em,, quan quando do fa faze zemo moss diversas pesquisas. Quer isto dizer, que as páginas não existem e são   “geradas” com informações que estão em bases de dados, quando fazemos um pedido sobre qualquer coisa.

Comunicação Cliente x Servidor Quando é digitado um endereço no navegador para acessar uma pági página na na inte intern rnet et o que acont conteece é uma uma requi equisi siçção do clie client ntee (navegador) ao servidor web. O servidor processa essa requisição e retorna uma resposta ao cliente, que por sua vez, interpreta o código retornado e formata a página para a sua visualização. Esse procedimento acontece em todas as requisições feitas pelo navegador. Portanto, programar para a web pode ser considerado como um  jogo que consiste em receber os dados do usuário, processá-lo e enviar a resp respos osta ta dinâ dinâmi mica ca.. Uma Uma ve vezz envi enviad adaa a resp respos osta ta é ence encerr rrad ado o o contato entre o servidor e o cliente.

PHP & MySql

8

Visualização:

CLIENTE ENTE

SERVI ERVID DOR WEB

Delimitando o código PHP O código PHP fica embutido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes tags:   

?> 

%> 

Nota: O delimitador de alteração no arquivo de configuração

php.ini. Tudo que estiver delimitado por / / será processado no servidor. O navegador cliente receberá apenas o resultado do processamento.

PHP & MySql

Nota:

9

NO PHP TODAS AS INTRUÇÕES SÃO TERMIDADAS COM 

O CARACT ACTERE “;” “;” (pont ponto o e vir virgula) la). Este caracte terre ind indica ica ao interpretador quando acaba uma instrução, e quando ele deve de esperar outra instrução. A exceção deste caso é quando um bloco de código PHP só contem uma única instrução, podendo, assim incluir ou não o ';' .

Exercício 01

Resultado: Olá Mundo

Comentários no PHP Com a idéia de organizar o programa para fácil visualização podemos inserir COMENTÁRIOS. Em HTML utilizamos os delimitadores , em PHP também é possível possível comentar partes partes de um código. Para tal, quando se quer comentar uma única linha, utilizamos os caracteres “//” para comentar a linha que não será processada. Para um bloco de linhas, utilizamos os separadores “/*” no inicio do bloco, e  “*/” para fechar o comentário.

PHP & MySql

10

Exemplo:

Exercício 02 Veja no exercício abaixo como o PHP interage com o HTML. Utilize um editor de texto puro (como o gedit) ou editor web (como o BlueFish), para digitar e testar o código abaixo. Salve na pasta indicada pelo seu instrutor com o nome de “ecoando.php”, abra um navegador e digite o endereço: http://localhost//ecoando.php http://localhost/ /ecoando.php Obs:

Onde estiver escrito digite o local indicado pelo seu

instrutor. A primeira linha e normal.

PHP & MySql

11

Nisto, vem uma terceira mais complexa...

Variáveis Variáveis são identificadores utilizados para representar valores mutáveis e voláteis, que só existem durante a execução do programa. Ela são armazenadas na memória RAM e seu conteúdo é distribuído após após a ex exec ecuç ução ão do prog progra rama ma.. Para Para cria criarr uma uma va vari riáv ável el em PH PHP, P, precisamos atribuir-lhe um nome de identificação, sempre procedido pelo caractere $ (cifrão). Veja os exemplos a seguir:

Exercício 03

Resultado: de Souza, João

PHP & MySql

12

Dicas: 

Nunca inicie a nomenclatura de variáveis com números;



Nunca utilize espaços em branco no meio do identificador da variável;



Nunc Nuncaa util utiliz izee cara caract cter eres es espe especi ciai ais: s: (!@# (!@#% %^&*/ ^&*/|[ |[]{ ]{}) }) na nomenclatura das variáveis;



Evite criar variáveis com mais de 15 caracteres em virtude da clareza do código fonte;



Nomes de variáveis devem ser significativos e transmitir a idéia de seu conteúdo dentro do contexto no qual a variável está inserida;



Utilize Utilize prefer preferenc encial ialmen mente te palavr palavras as em minúsc minúsculo ulo (separ (separada adass pel pelo caracte terre “_”) _”) ou somente as primeir eiras let etrras em maiúsculo quando houver mais palavras.



Tipos de Dados Suportados Integer (Inteiro)

É util utiliza izado do para para númer números os inte inteir iros. os. Veja Veja como como decla declara rarr uma uma variável do tipo inteiro: $curso =1000; // número inteiro positivo $curso = -1000; // número inteiro negativo

PHP & MySql

13

Double (Dupla Precisão)

É utilizado para números reais, podendo fazer cálculos com grande precisão. Veja os exemplos abaixo: $curso = 1.050; // O ponto é o separador decimal $curso = 52e3; // Notação científica (equivale a 52000)

Strings

É utilizado para strings de caracteres. As strings podem ser delimitadas de duas maneiras:

 

Com aspas duplas ('' ''), todas as variáveis dentro da string serão resolvidas.

Exercício 04

Resultado: --- Linux -- 

Com o uso de apóstrofos ofos (' '), a strin tring g per permanec nece como omo aparece, sem substituições.

PHP & MySql

14

Exercício 05

Resultado: --- $teste ---\n Booleano

É utilizado para valores verdadeiros (True) ou falsos (False). Array

É utilizado para armazenar vários itens de dados do mesmo tipo em uma única variável. Objeto

É utilizado para armazenar instâncias de classes.

Caracteres de Escape Os caracteres de escape começam com uma barra invertida (\) e são colocados dentro das strings. Internamente eles são substituídos pelos caracteres reais e pelas ações que esses caracteres simbolizam.

PHP & MySql

15

\n \r

Nova Nova linh linha. a. Desc Descee par paraa a linh linhaa de de bai baixo xo.. Reto Re torn rno o de carr carro o (sem (semel elha hant ntee a \n). \n). Col Coloc ocaa o curs cursor or no no come começo ço

\t \\ \$ \”

da linha. Tabu Tabula laçã ção o hor horizo izont ntal. al. Pu Pula la para para a próx próxim imaa ta tabu bula laçã ção. o. Barr Ba rraa inv inver ertid tida. a. Subs Substit titui ui por por uma uma barra barra inver invertid tida. a. Cifr Cifrãão. Sub Substit stitui ui por por um um cif cifrã rão o. Aspas. Substitui tui por por aspas pas.

Exercício 06 No exercício abaixo é mostrada a forma como o PHP utiliza variáveis. Utilizando um editor de texto puro (como o gedit) ou editor web (como o BlueFish), salve o arquivo na pasta indicada pelo seu instrutor com com o nom nome de “va “variav riavei eiss.ph .php”, p”, abra abra um nave navega gado dorr e digi digite te o endereço http://localhost//variaveis.php Exemplo de utilização de variáveis: .

PHP & MySql

16

Operadores Aritméticos

O PHP possui todos os operadores aritméticos. Os principais são: + * / %

Adição Subtração Multiplicação Divisão Resto da divisão

String

O PHP possui um único operador de string, que é o operador operador de concatenação “.” . Veja o exemplo exemplo abaixo: abaixo:

Exercício 07

Resultado: Alô Mundo

PHP & MySql

17

Atribuição

O

únic único o

oper operad ador or de

atri at ribu buiç ição ão do PH PHPP

é o “=”. “=”. Este Este,,

combinado combinado com os operadores operadores aritmétic aritméticos os e de string, string, pode reduzir reduzir o tamanho do código. = += -= *= /= %= .=

Atribuição simples. Atribuição com adição. Atribuição com subtração. Atribuição com Multiplicação. Atribuição com divisão. Atribuição com módulo. Atribuição com concatenação.

Veja o exemplo abaixo.

Exercício 08

Resultado: 9

PHP & MySql

18

Veja outro exemplo utilizando a atribuição com módulo (resto de divisão):

Resultado: 1 No exemplo acima inicialmente a variável $resto possuí valor 11. A

operação

“$resto

%=2;”

é

equivalente

à

operação

  “$resto=$resto%2;”, isto é, as duas calculam o resto da divisão da variável $resto por 2. Incrementação: Pode ser utilizada de duas formas: antes ou depois

da variável. O incremento de uma variável soma 1 unidade à uma variável e armazena o resultado na mesma. O decremento subtraí uma variável em 1 unidade. Quando utilizado antes, retorna o valor da variável antes de incrementá-la ou decrementá-la. Quando utilizado depois, retorna o valor da variável já incrementado ou decrementado. ++ Incremento - - Decremento

PHP & MySql

19

Exemplos: $a=$b=10; // $a e $b recebem o valor 10 $c=$a++; // $c recebe 10 e $a passa a ter 11 $d=++$b; // $d recebe 11, valor de $b já incrementado $d++; // $d recebe + 1 unidade e passa a valer 12 Lógicos

Os oper operad adore oress lógico lógicoss trab trabal alha ham m com com os va valo lore ress comp comple letos tos,, utilizando TRUE ou FALSE. Operador

and or ! && ||

Significado

Exemplo

“e” lógico “ou” lógico Não (inversão) “e” lógico “ou” lógico

$a and $b $a or $b ! $b $a && $b $a || $b

Comparação

Os operadores de comparação são usados para comparar dois valores. == != < > =

igual a Diferente de Diferente de menor que maior que menor ou igual a maior ou igual a

PHP & MySql

20

Integrando o PHP ao HTML Nesta seção, vamos criar uma página dinâmica para processar os dados enviados pelo formulário. Os va valo lore ress dos campo amposs passa assado doss pelo peloss for formulá mulári rio os fica ficam m armazenados nos vetores $_POST e $_GET conforme o método de envio.

Métodos GET e POST O GET é um método do HTTP destinado a enviar dados do cliente para o servidor. É acionado por meio de um formulário HTML através da diretiva METHOD=GET incluída METHOD=GET incluída na tag . Quando o formulário HTML utiliza o método GET, o fluxo de dados é separad separado o do endereço endereço URL que que chama a CGI através através de um ponto de interrogação (?). Esta forma de endereçamento e separação pode ser observada no campo de endereços do navegador do usuário. Logo após o formulário ter sido enviado, pode ver algo como: http://www.meusite.com/meuscript.cgi?campo1=valor1&campo2=va lor2.

O POST é outro método do HTTP similar ao GET, porém é acionado por meio da diretiva METHOD=POST . Este método faz com que que os dado dadoss do formu ormulá lári rio o sej sejam dire direta tam mente ente tran transsmiti mitid dos ao endereço que constar da diretiva ACTION= diretiva ACTION= e não através da URL. Ao escrevermos nossos scripts, devemos sempre lembrar qual método estamos usando a fim de determinarmos se iremos ler os dados do vetor $_POST ou $_GET.

PHP & MySql

Dica:

21

Semp Sempre re que que possí possível vel,, devedeve-se se utiliz utilizar ar o méto método do PO POST ST,, pois pois

através do método GET os dados enviados ficam mais expostos através da URL no navegador, o que representa uma falha de segurança.

Exercício 09 Salve seu arquivo com o nome de “formulario.php” e digite o endereço

http://localhost/< http://localhost/ /formul rmulaario.php

no

seu

navegador para testá-lo.

Digite seu Nome:

Estruturas de Controle If  O comando if testa a condição passada e executa o bloco de código caso o valor retornado da condição seja verdadeiro. Veja o exemplo a seguir:

PHP & MySql

22

Exercício 10

Resultado: Não é igual

Else Caso a condi ondiçção pas passada retor torne um valor falso lso, e seja necessário executar um bloco de código diferente, utiliza-se a instrução else. Veja o exemplo a seguir:

Exercício 11

Resultado: 2>1

ElseIf  Ainda existe a instrução elseif, para situações onde precisa-se verificar mais que uma condição. Veja o exemplo a seguir:

Exercício 12

PHP & MySql

24

Resultado: 1 é menor que 2 e 3

Laços While

Este Este coma comand ndo o é util utiliz izad ado o para para real realiz izar ar laço laçoss de repe repeti tiçõ ções es cond condic icio iona nais is.. Ele Ele ex exec ecut utaa o bloc bloco o de códi código go enqu enquan anto to a cond condiç ição ão passada for verdadeira, e caso a condição inicial que foi passada se torne falsa, falsa, o bloco não será executado. Veja o exemplo exemplo a seguir:

Exercício 13

Resultado: Exemplo de While 1234

PHP & MySql

25

For

Como nos outros comandos que realizam laços condicionais, o comando for também precisa de uma condição para ser testada a cada laço realizado, porém, este comando necessita de mais dois parâ parâme metr tros os,, que que seri seriam am a decl declar araç ação ão da va vari riáv ável el cont contad ador oraa e a instrução de incremento. Veja o exemplo abaixo:

Exercício 14

Resultado: Exemplo de For 12345678910

Include A função include coloca o conteúdo de um outro arquivo, com ou ou sem sem códi código go em PH PHP, P, subs substi titu tuin indo do pelo pelo novo novo códi código go.. O códi código go do arqu arquiv ivo o incl incluí uído do é proce process ssad ado o em te temp mpo o de ex exec ecuç ução ão,, perm permiti itindo ndo assim, assim, que sejam usados “include “includes” s” dentro de de estruturas estruturas de controle controle como for e while. Veja o exemplo a seguir:

PHP & MySql

26

Exercício 15 Programa: teste.php

Programa: externo.php

O programa com o comando include ficaria da seguinte forma:

O comando include é muito utilizado quando você quer definir funções ou variáveis que serão utilizadas com freqüência em várias páginas de um site.

PHP & MySql

27

Array É um tipo de variável que possui seu conteúdo agrupado por índices, como um vetor ou um dicionário. Estes índices podem ser de qualquer tipo suportado pelo PHP. Pode-se criar um array usando as funções funções list() ou array(), array(), ou pode-se pode-se atribuir explicitamente explicitamente o valor de cada elemento. Também é possível criar uma array, simplesmente adicionando-se valores ao array. Veja o exemplo abaixo:

Exercício 16

Listas As listas são utilizadas em PHP para realizar várias atribuições, como por exemplo, atribuir valores de uma array para variáveis, como mostra o exemplo a seguir:

PHP & MySql

28

O programa acima atribuirá simultaneamente e respectivamente os valores do array às variáveis passadas como parâmetros para o comando list. É muito importante lembrar que só serão passadas ao comando list os elementos do array que possuírem os índices com valores inteiros e não negativos.

Exercício 17 O exercício exercício abaixo mostra a utilização utilização de vetores vetores e listas. listas. Salve seu arquivo com o nome de “listas.php” na pasta habilitada e digite o endere endereço ço http:/ http://loc /localh alhost ost//lista stas.p s.php hp no seu navega navegador dor para testá-lo. Ciclo While Ciclo For

PHP & MySql

29

MySql – Banco de Dados No mundo atual existem gigantescos bancos de dados gerenciando nossas vidas. Nossa conta bancária faz parte de uma coleção imensa de contas bancárias de nosso banco. Noss Nosso o Títu Título lo Elei Eleito tora rall ou noss nosso o Ca Cada dast stro ro de Pe Pess ssoa oa Físi Física ca,, cert certaamente ente estã estão o arm armazen zenados ados em Banco ncos de Dad Dados colo colosssais sais.. Sabemos também que quando sacamos dinheiro no caixa eletrônico de nosso banco, nosso saldo e as movimentações existentes em nossa conta bancária já estão à nossa disposição. Nestas situações sabemos que existe uma necessidade em se realizar o armazenamento de uma série de informações que não se encontram efetivamente isoladas umas das outras, ou seja, existe uma ampla gama de dados que se referem a relacionamentos existentes entre as informações a serem manipuladas. Para gerenciar tantos dados como os citados são utilizados os Sistemas de Gerenciamento de Banco de Dados (SGBD). Sem tais sistemas o mundo atual estaria bastante diferente de como vemos hoje. O mercado financeiro atual não existiria. As praticidades, como compras pela Internet, cartões de débito, caixas automáticos e mais uma infinidade de exemplos, não seriam possíveis.

Popularização dos Bancos de Dados Há poucas décadas, os bancos de dados eram utilizados apenas por grandes instituições. O seu uso era restrito aos grandes negócios, onde simplesmente seria impossível a operação de certas indústrias ou

PHP & MySql

30

empresas. Com a popularização e barateamento da plataforma IBM/PC, logo

surgiram

programas

aplicativos

para

algum

tipo

de

armazenamento de dados. Antes desses equipamentos e softwares tornarem-se acessíveis, muitas vezes eram utilizadas fichas cadastrais para armazenar dados de clientes em pequenos e médios negócios (essas fichas e armários de fichários são ainda hoje utilizados em alguns locais). Para se ente tend ndeer como isso func unciona onava, vamos usa usar um exemplo de uma pessoa que ao visitar uma clínica médica/odontológica fornecia seu nome, endereço, telefone etc. Esses dados eram então anotados nessas fichas, que eram a única maneira de se guardar as inform informaçõ ações es de client clientes, es, pacient pacientes, es, estuda estudante ntes, s, peças peças numa numa oficin oficinaa mecânica etc. Exemplo de ficha cadastral: Nº de cadastro: 19.000/2 Nome: Fulano Beltrano

Santos.........................RG

Nº:165.956.401/26 Endereço: Rua Alpha, Nº 308 Bairro Cariru Cidade: Cidade: Itupora Ituporanga nga-SP -SP... ...... ...... ....... ....... ...... ....... ....... ....... ........ ....... ....Fon .Fone: e:

(79)5555 (79)5555--

5555 Problema encontrado: Paciente apresentava constipação. Quan Quando do era era nece necess ssár ário io sabe saberr o núme número ro de te tele lefo fone ne de um cliente chamado “Raoni Guimarães Villar de Pinho” era preciso abrir o

PHP & MySql

31

fichário, encontrar a letra R e ir olhando aos poucos onde havia o nome Raoni. Se fosse preciso saber, em uma escola, se o aluno “Artur Magno Horta de Abreu” havia repetido alguma série, era preciso verificar as fich fichas as que que conti continh nham am os hist histór óric icos os esco escola lare res, s, depo depois is proc procur urar ar pelo pelo hist histór óric ico o do alun aluno o e aind aindaa proc procur urar ar ness nessaa fich fichaa se o alun aluno o havi haviaa repetido alguma série. No caso de uma farmácia, saber quais produtos custavam mais que R$ 5,00 seria extremamente difícil, e nada disso era feito. Atualmente os bancos de dados estão por toda parte, desde a farmácia da esquina até a lojinha do posto de gasolina.

O que é um Sistema de Gerenciamento de Banco de Dados? Um SGBD - Sistema de Gerenciamento de Banco de Dados é uma coleção de programas que permitem ao usuário definir, construir e manipular Bancos de Dados para as mais m ais diversas finalidades. Um SGBD deve possuir as seguintes características: Con Control trole e

de

Redu edundân dância ias s

-

A

redundância

consiste

no

arma armaze zena name ment nto o de uma uma mesm mesmaa info inform rmaç ação ão em loca locais is dife diferen rentes tes,, provocando inconsistências. Em um Banco de Dados as informações só se encon contra tram armazenadas em um único ico loc local, não existin tindo duplicação descontrolada dos dados. Quando existem replicações dos dados, estas são decorrentes do processo de armazenagem típica do ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados.

PHP & MySql

32

Compartilhamento dos Dados - O SGBD deve incluir software de

controle de concorrência ao acesso dos dados, garantindo em qualquer tipo de situação a escrita/leitura de dados sem erros. Cont Contro role le de Aces Acesso so -

O SGDB dev evee dispor por de recu ecursos que

possibilitem selecionar a autoridade de cada usuário. Assim um usuário poderá realizar qualquer tipo de acesso, outros poderão ler alguns dados e atualizar outros, e outros ainda poderão somente acessar um conjunto restrito de dados para escrita e leitura. Interfaceamento - Um Banco de Dados deverá disponibilizar formas

de acesso gráfico, em linguagem natural, em SQL ou ainda via menus de acesso, não sendo uma “caixa-preta” somente sendo passível de ser acessada por aplicações. Esquematização - Um Banco de Dados deverá fornecer mecanismos

que possibilitem a compreensão do relacionamento existente entre as tabelas e sua eventual manutenção. Controle de Integridade - Um Banco de Dados deverá impedir que

apli apliccaçõ ações ou aces cessos sos pela pelass inte interf rfaaces ces poss possaam comp compro rom met eter er a integridade dos dados. Cópias de segurança - O SGBD deverá apresentar facilidade para

recuperar falhas de hardware e software, através da existência de

PHP & MySql

33

arquivos de “pré-imagem” ou de outros recursos automáticos, exigindo minimamente a intervenção de pessoal técnico. Em certos casos pode ocorrer de um SGBD não obedecer uma ou outra regra das vistas acima, mas ainda assim continuar sendo considerado um SGBD. Porém alguns “Bancos de Dados” atualmente comercializados não são SGBD reais, justamente por não atenderem algumas dessas características.

Php MyAdmin É uma ferramenta de administração de banco de dados MySql implementada em PHP com interface web. É bastante amigável e útil para aquele que não se sente muito confortável com SQL. Para acessar a ferramenta digite a seguinte URL no navegador: http://localhost/phpmyadmin

MySql É um Sistema de Gerenciamento de Bancos de Dados relacional. Um banco de dados relacional armazena dados em tabelas separadas em vez de colocar todos os dados em um só local. Isso proporciona velocidade e flexibilidade. O MYSQL é um software cujo código fonte é aberto, onde é possível para qualquer um usar e modificar o programa. Qualquer pessoa pode fazer download do MySQL pela Internet e usá-lo sem pagar nada (o MySQL só é cobrado em alguns poucos casos). Se você quiser pode estudar o código fonte e alterá-lo para adequá-lo às

PHP & MySql

34

suas necessidades. O MySQL usa a GPL (GNU - General Public License Licenca Pública Geral GNU) http://www.fsf.org/licenses, para definir o que que você ocê pode ode e não não pode pode fa faze zerr com com o soft softwa warre em dif diferen erente tess situações ou se preferir adquirir a versão comercial licenciada. - O MySQL suporta diferentes plataformas, tais como: Windows, Linux, FreeBSD, Unix, entre outros.

Exemplo de Banco de dados Tabela de DEPARTAMENTO

Nome Contabilidade Engenharia Civil Engenharia Mecânica Engenharia Elétrica

Número* 1 2 3 4

RG Gerente 101 010 10 303 030 30 202 020 20 402 020 20

Há 3 campos na tabela DEPARTAMENTO (nome, número e RG Gerente), sendo que o campo Número é chave primária (impede que existam 2 registros iguais no banco de dados). A primeira linha possui valores “Contabilidade”, “1” e “10101010”. Os nome nomess das das ta tabe bela lass e dos campo amposs são são de funda undam menta entall importância

para

nossa

compreensão

entre

o

que

estamos

armazenando, onde estamos armazenando e qual a relação existente entre os dados armazenados.

PHP & MySql

35

Cada registro de nossa relação será chamado de linha e cada coluna de nossa relação será chamada de ATRIBUTO. O esqu esquem emaa de uma uma rela relaçã ção, o, nada nada mais ais é que que os campo amposs (colunas) existentes em uma tabela. Já a instância da relação consiste no conjunto de valores que cada atributo assume em um determinado instante. Portanto, os dados armazenados no Banco de Dados, são formados pelas instâncias das relações. As relações não podem ser duplicadas (não podem existir dois estados do Pará, no conjunto de estados brasileiros, por exemplo), a orde ordem m de entr ntrada ada de dad dados no Ba Banc nco o de Dados ados não não deve deverá rá te terr qual qualqu quer er impo import rtân ânci ciaa para para as rela relaçõ ções es,, no que que conc concer erne ne ao seu seu tratamento.

Como Como util utiliz izar ar a SQL SQL para para mani manipu pula larr os banc bancos os de dados MySQL O SQL possui comandos que são utilizados para manipular os bancos de dados, as tabelas e os registros existentes. Para acessar o banco de dados SQL via terminal (linha de comandos) proceda da seguinte forma:  mysql -u usuario -p digite a senha de acesso ao banco  mysql: (Neste ponto o banco está pronto para ser usado!)

PHP & MySql

36

Comandos SQL Comando SHOW Mostra os bancos de dados e tabelas existentes. Sintaxe: SHOW DATABASE DATABASES; S;

(Mostra os bancos de dados existentes no

MySql) SHOW TABLES;

(Exibe as tabelas existentes no banco)

Comando USE Seleciona um bancos de dados para ser utilizado. Sintaxe: USE nome_do_banco;

Comando CREATE Este comando permite a criação de bancos de dados ou de tabelas num banco de dados. Sintaxe: CREATE DATABASE < nome_db >;

onde: nome_db indica o nome do Banco de Dados a ser criado. Exemplo: CREATE DATABASE curso;

Sintaxe: CREATE TABLE < nome_tabela > ( nome_atributo1 < tipo > [ NOT NULL ],

PHP & MySql

37

nome_atributo2 < tipo > [ NOT NULL ], ...... nome_atributoN < tipo > [ NOT NULL ] PRIMARY KEY(nome_atributo) ) ;

onde: nome_tabela indica o nome da tabela a ser criada. nome_atributo: indica o nome do campo a ser criado na tabela. tipo: indica a definição do tipo de atributo ( integer(n), char(n), ... ). PRIMARY KEY: esse é o campo utilizado para que não exista, na tabela, dois registros iguais. Ele mantém a integridade do banco de dados. Caso você tente inserir num banco de dados um registro com uma PRIMARY KEY já existente ele emitirá uma mensagem de erro e impedirá que o registro seja inserido. Exemplo: CREATE table alunos( codigo int NOT NULL AUTO_INCREMENT, nome VARCHAR(20) NOT NULL , telefone CHAR(8) NOT NULL, PRIMARY KEY(codigo) );

PHP & MySql

38

Comando INSERT Adiciona um ou vários registros a uma tabela. Sintaxe básica: INSE INSERT RT

INTO NTO

des destino tino

[cam campo1, po1,

campo ampo2 2]

VALU VALUES ES

(val valor1, or1,

valor2);

A instrução INSERT INTO possui as partes abaixo:

Destino - O nome da tabela em que os registros devem ser anexados. campo1, campo2 - Nomes dos campos aos quais os dados devem ser inseridos. valor1, valor2 - Valores para inserir nos campos especificados do novo registro. Cada valor é inserido no campo que corresponde à posição do valor na lista: Valor1 é inserido no campo1 campo1 do novo registro, valor2 no campo2 e assim por diante. Você deve separar os valores com uma vírgula e colocar os campos de textos entre aspas (“ ”). Seguindo o exemplo da tabela funcionários, veja a inclusão dos 2 primeiros registros: Nome RG CPF Depto. Pedro 101010101 11111111-21 1 Fernando 202020202 22222222-20 2 INSE INSERT RT

INTO NTO

funcio nciona nar rios ios

VALUES LUES

RG Sup. Salário NULO 300 0 333333333 270 0

('P ('Pedro edro', ',

10101 01010 0101, 101,

('Fe ('Fern rnan ando do', ',

20202020-

1111111121,1,”,3000); INSE INSERT RT

INTO INTO

func funcio iona nari rios os

VALU VALUES ES

2,1111111120,2,333333333,2700);

PHP & MySql

39

Comando SELECT Realiza uma seleção de informações existentes nas tabelas. Sintaxe básica: SELECT [DISTINCT] expressao [AS nome-atributo] [FROM from-lista] [WHERE condicao] [ORDER BY attr_name1 [ASC | DESC ]] onde: DISTINCT : Elimina linhas duplicadas na seleção. EXPRESSÃO: EXPRESSÃO: Define os dados que queremos selecionar, normalmente uma ou mais colunas de uma tabela que está em from-lista.  AS nome-atributo: Define um alias (apelido) para o nome da coluna. FROM: Lista das tabelas onde a pesquisa será feita. WHERE: Condição para que um registro seja selecionado. ORDE ORDER R BY: BY: Crit Critér ério io para para orde ordena naçã ção o dos dos regi regist stro ross sele seleci cion onad ados os.. Utilizando ASC a ordem será crescente, utilizando DESC a ordem será decrescente. Where como base das Restrição de linhas

A cláusula “where” restringe a seleção de dados, de acordo com seu argumento. Contém a condição que as linhas devem obedecer a fim de serem listadas. Ela Ela pode pode comp compar arar ar va valo lore ress em colu coluna nas, s, lite litera rais is,, ex expr pres essõe sõess aritméticas ou funções.

PHP & MySql

40

A seguir apresentamos operadores lógicos e complementares a serem utilizados nas expressões apresentadas em “where”: Exemplos: SELECT cidade, estado FROM brasil WHERE populacao > 100000;

Selecionará os campos cidade e estado da tabela brasil de todos os registros que tiverem valor maior que 100.000 no campo população. SELECT * FROM cidadao ORDER BY nome DESC;

Sele Seleci cion onar aráá todo todoss os camp campos os da ta tabe bela la cida cidadã dão o e util utiliz izar aráá ordenação decrescente na seleção. Selecionar quantas pessoas existem cadastradas: SELECT COUNT(*) FROM funcionarios; funcionarios;

Selecionar quantos funcionários funcionários existem no departamento 3: SELECT COUNT(*) FROM funcionarios WHERE depto=3;

Selecionar o nome e o rg dos funcionários que ganham mais que 3000 reais: SELECT nome, rg FROM funcionarios WHERE salario>3000;

Comando DESCRIBE Exibe a descrição da tabela. Sintaxe: DESCREIBE nome_da_tabela;

PHP & MySql

41

Comando DROP Elimina a definição da tabela, seus dados e referências ou um banco de dados existente. Sintaxe: DROP TABLE nome_da_tabela;

(Exclui a tabela)

DROP DATABASE nome_do_banco;

(Exclui o banco de dados)

Comando DELETE Remove registros de uma ou mais tabelas listadas na cláusula FROM que satisfazem a cláusula WHERE. Sintaxe: DELETE FROM tabela WHERE critério;

onde: TABELA: TABELA: O nome da tabela de onde os registros serão excluídos. CRITÉRIO: CRITÉRIO: Uma expres pressã são o que que dete determ rmin inaa qual ual regi regist stro ro deve deve ser ser excluído. O comando DELETE exclui registros inteiros e não apenas dados em campos específicos. Se você quiser excluir valores de um campo específico, use o comando UPDATE que mude os valores dos campos para NULL. Após remover os registros usando uma consulta DELETE você não poderá desfazer a operação. Fazendo a operação: DELETE FROM funcionarios WHERE salario>7999;

PHP & MySql

42

(Excluirá da tabela funcionários todos os registros onde o salário é menor que 7999.)

Comando UPDATE O comando UPDATE altera os valores de alguns campos de uma tabela especificada, com base em critérios específicos. Sintaxe: UPDATE tabela SET campo1 = valornovo, ... WHERE critério;

Onde: TABELA: TABELA: O nome da tabela onde você quer modificar os dados. VALORNOVO: VALORNOVO: Uma expressão que determina o valor a ser inserido no campo do registro que será atualizado. CRITÉRIO: CRITÉRIO: Uma expressão que determina quais registros devem ser atualizados. Só os regis egisttros que satis tisfazem a expr xpressão são atualizados. O comando UPDATE  é bastante útil quando você quer alterar muitos registros ou quando os registros que você quer alterar estão em várias tabelas. Você pode alterar vários campos ao mesmo tempo. Utilizando a cláusula UPDATE  é possível alterar os registros da tabela funcionários, para que os funcionarios que integram o depto 3 passem a pertencer ao depto 5: UPDATE funcionarios SET depto=5 WHERE depto=3;

Caso fosse necessário dar um aumento de 20% de salário aos

PHP & MySql

43

funcionários que ganham menos de 3000 reais o comando seria o seguinte: UPDATE UPDATE

funci funciona onario rios s

SET

salar salario= io=sal salari ario+s o+sal alari ario*0 o*0.2 .2

WHERE WHERE

salario;

Util Utiliz izee os coma comand ndos os visto vistoss ante anteri rior orme mente nte para para manip manipul ular ar os bancos de dados:

Roteiro – Criação de Banco de Dados 1. Crie Crie um um banc banco o de dad dados os com com o com coman ando do:: CREATE DATABASE animais;

2. Passe Passe a utiliza utilizarr o banco banco de dados dados anim animais ais nas nas suas suas consulta consultas: s: USE animais;

3. Crie Crie uma ta tabe bela la cha chamada ada PET com com os cam campos pos nom nome, dono dono,, especie e sexo CREA CREATE TE

TABL TABLE E

pet pet

(nom (nome e

VARC VARCHA HAR R

(20) (20), ,

dono dono

VARC VARCHA HAR R

(20) (20), ,

especie VARCHAR (20), sexo CHAR (1) );

4. List Listee as as ta tabe bela lass do do ban banco co:: SHOW TABLES;

5. Obten Obtenha ha deta detalh lhes es da ta tabe bela la:: DESCRIBE pet;

6. Insira Insira alguma algumass eentra ntradas das nesta nesta tabela tabela:: INSERT INTO pet VALUES ('Pluto', 'Edgar', 'cachorro', 'M'); INSERT INTO pet VALUES ('Rex', 'Carlos', 'cachorro', 'M'); INSERT INTO pet VALUES ('Loro', 'Marisa', 'papagaio', 'F');

PHP & MySql

44

7. List Listee o con conte teúd údo o da ta tabe bela la:: SELECT * FROM pet;

8. Alte Altere re uma uma entr entrada ada dest destaa tabe tabela la:: UPDATE pet SET dono = 'Carlos' WHERE nome='Rex';

9. Liste Liste novam novament entee todo o conte conteúdo údo da tabela tabela,, e verifiq verifique ue o que que foi alterado 10. Faça uma uma consulta mais sofisticada: SELECT * FROM pet WHERE (especie=“cachorro” (especie=“cachorro” AND sexo=“M”) OR (especie=“papagaio” AND sexo=“F”);

11. Especifique as colunas que que quer observar em sua consulta: SELECT especie, nome FROM pet;

12. Remova uma uma entrada desta tabela: DELETE FROM pet WHERE nome='Pluto';

13. Remova Remova a tabela tabela DROP TABLE pet;

14. Remova Remova o banco: banco: DROP DATABASE animais;

Estabelecendo Estabelecendo conexões entre PHP e MySql Para acessar bases de dados num servidor MySQL, é necessário ante antess estab stabel elec eceer uma uma conex onexão ão.. Pa Para ra isso isso,, deve deve ser util utiliz izad ado o o comando mysql_connect: int

mysql_ mysql_con connec nect(s t(str tring ing

string [senha]);

[host[ [host[:p :port orta]] a]], ,

string string

[login [login], ],

PHP & MySql

45

O valor de retorno é um inteiro que identifica a conexão, ou falso se a conexão falhar. Antes de tentar estabelecer uma conexão, o interpretador PHP verifica se já existe uma conexão estabelecida com o mesmo host, o mesm mesmo o logi login n e a mesm mesmaa senh senha. a. Se ex exis isti tir, r, o iden identi tifi fica cado dorr dest destaa conexão é retornado. Senão, uma nova conexão é criada. Uma conexão estabelecida com o comando mysql_connect é encerrada ao final da execução do script. Para encerrá-la antes disso deve deve ser util utiliz izad ado o o coma omando ndo mysq mysql_ l_cl clos ose, e, que te tem m a segui eguint ntee assinatura: int mysql_close(int [identificador da conexão]);

Se o identificador não for fornecido, a última conexão estabelecida será encerrada.

Selecionando a base de dados Depois de estabelecida a conexão, é preciso selecionar a base de dados a ser utilizada, através do comando mysql_select_db, que segue o seguinte modelo: int mysql_select_db(string base, int [conexao]);

Novamente, se o identificador da conexão não for fornecido, a última conexão estabelecida será utilizada.

PHP & MySql

46

Realizando consultas Para executar consultas SQL no MySQL, utiliza-se o comando mysql_query, que tem a seguinte assinatura: int mysql_query(string query, int [conexao]);

Onde query é a expressão SQL a ser executada, sem o ponto-evírgula no final, e conexão é o identificador da conexão a ser utilizada. A consulta será executada na base de dados selecionada pelo comando mysql_select_db. É bom bom lemb lembra rarr que que uma uma cons consul ulta ta não não sign signif ific icaa apen apenas as um coman comando do SELE SELECT. CT. A cons consul ulta ta pode pode cont conter er qual qualqu quer er coma comand ndo o SQL SQL aceito pelo banco. O valor de retorno é falso se a expressão SQL for incorreta, e diferente de zero se for correta. No caso de uma expressão SELECT, as linhas retornadas são armazenadas numa memória de resultados, e o valo va lorr de reto retorn rno o é o iden identi tifi fica cado dorr do resu result ltad ado. o. Algu Alguns ns coma comand ndos os podem ser realizados com esse resultado:

Apagando resultados O comando comando mysql_freemysql_free-resul resultt deve ser utilizado utilizado para apagar da memória o resultado indicado. int mysql_free_result(int result);

PHP & MySql

47

Número de linhas O coma comand ndo o mysq mysql_ l_nu num_ m_ro rows ws reto retorn rnaa o núme número ro de linh linhas as contidas num resultado. int mysql_num_rows(int result);

Utilizando os resultados Existem diversas maneiras de ler os resultados de uma query SELECT. As mais comuns serão vistas a seguir: int mysql_result(int result, int linha, mixed [campo]);

Retorna o conteúdo de uma célula da tabela de resultados. RESULT  LINHA

é o identificador do resultado;

é o número da linha, iniciado por 0;

CAMPO

é uma string com o nome do campo, ou um número

correspondente ao número da coluna. Se foi utilizado um alias na consulta, este deve ser utilizado no comando mysql_result. Este Este com comando ando dev deve ser util utiliz izaado apena penass par para res resulta ultado doss pequ pequen enos os.. Quan Quando do o volu volume me de dado dadoss for for maio maior, r, é reco recome mend ndad ado o utilizar um dos métodos a seguir: array mysql_fetch_array(int result);

Lê uma linha do resultado e devolve um array, cujos índices são os nomes dos campos. A execução seguinte do mesmo comando lerá a

PHP & MySql

48

próxima linha, até chegar ao final do resultado. array mysql_fetch_row(int result);

Seme Semelh lhan ante te ao coma comand ndo o ante anteri rior or,, com com a dife difere renç nçaa que que os índices do array são numéricos, iniciando pelo 0 (zero).

CRUD – (Create, Read, Update e Delete) Conc Concei eito to para ara cria criaçã ção, o, cons consul ulta ta,, alte altera raçã ção o e ex excclusã lusão o de registros feitos em um projeto de banco de dados relacional. r elacional. Exemplo: formulario.php CRUD Inserir Nome.:

Sobrenome:

PHP & MySql

49

Procurar Nome.:

Alterar Nome.:

Deletar Nome.:



PHP & MySql

50

inserir.php
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF