Buscar

PHP e MySQL desenvolvimento web

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PHP e MySQL Desenvolvimento Web 1 
Filipe Costa Fernandes 
 
 
 
 
 
 
 
 
 
 
 
PHP e MySQL 
Desenvolvimento 
Web 
 
 
 
 
 
 
 
Autor: 
Felipe Costa Fernandes 
PHP e MySQL Desenvolvimento Web 2 
Filipe Costa Fernandes 
PHP e MySQL 
 
Desenvolvimento Web 
Luke Welling e Laura Thomson 
 
 
O QUE É PHP? ..............................................................................................................2 
O QUE É MySQL?.........................................................................................................3 
INTEGRAÇÃO DE BANCO DE DADOS....................................................................3 
VISÃO GERAL DO PHP ..............................................................................................3 
UTILIZANDO TAGS DE PHP......................................................................................4 
COMENTÁRIOS ...........................................................................................................4 
ACESSANDO VARIÁVEIS DE FORMULÁRIO........................................................4 
TIPOS DE DADOS DO PHP.........................................................................................5 
Transformando tipos de dados do PHP ..........................................................................5 
CONSTANTES ..............................................................................................................5 
OPERADORES ARITMÉTICOS..................................................................................5 
Operador Nome Exemplo...................5 
OPERADORES DE COMPARAÇÃO DO PHP ...........................................................5 
Operador Nome Utilização.............................................................................................5 
O OPERADOR TERNÁRIO .........................................................................................6 
FUNÇÕES DO PHP.......................................................................................................6 
IF.....................................................................................................................................6 
WHILE ...........................................................................................................................7 
FOR ................................................................................................................................7 
DO .. WHILE .................................................................................................................7 
ARRAYS........................................................................................................................7 
SHUFFLE.......................................................................................................................8 
MANIPULAÇÃO DE STRING.....................................................................................8 
UNINDO E SEPARANDO STRING (Join, implode, explode) ....................................9 
ATUALIZANDO REGISTROS NO BANCO DE DADOS........................................21 
 
O QUE É PHP? 
 
O PHP é uma linguagem de criação de scripts do lado do servidor que foi projetada 
especificamente para WEB. Dentro de uma página HTML, você pode embutir código de 
PHP que será executado toda vez que a página for visitada. Esse código é interpretado no 
servidor da Web e gera HTML ou outra saída que o visitante verá. 
O PHP foi concebido em 1994 e sua origem foi o trabalho de uma única pessoa, 
Rasmus Lerdorf. Essa linguagem foi adotada por outras pessoas inteligentes e passou por 
três importantes regravações para nos proporcionar o amplo e aperfeiçoado produto que 
vemos hoje. 
PHP e MySQL Desenvolvimento Web 3 
Filipe Costa Fernandes 
O PHP é um produto Open Source, ou seja, você tem acesso ao código-fonte. É 
possível utiliza-lo, altera-lo e redistribuí-lo, tudo sem taxa. 
O PHP significava originalmente Personal Home Page, mas foi alterado de acordo 
com a convenção para atribuição de nomes recursiva GNU (Gnu is Not Unix) e agora 
significa Php Hypertext Preprocessor (processador de hipertexto php). 
A home page do PHP está disponível em http://www.php.net 
A home page do Zend está disponível em http://www.zend.com 
 
O QUE É MySQL? 
 
O MySQL é um sistema de gerenciamento de banco de dados relacional (relational 
database management system – RDBMS) poderoso e muito rápido. Um banco de dados 
permite armazenar, pesquisar, classificar e recuperar dados eficientemente. O servidor de 
MySQL controla o acesso aos dados para assegurar que múltiplos usuários possam 
trabalhar co os dados ao mesmo tempo, fornecer acesso rápido aos dados e assegurar que 
somente usuários autorizados possam obter acesso. Portanto, o MySQL é um servidor 
multiusuário e multiencadeado ( ou multithreaded). Ele utiliza a SQL (Structured Query 
Language), a linguagem de consulta padrão de banco de dados mundial. O MySQL está 
publicamente disponível desde 1996, mas tem uma história de desenvolvimento que 
remonta a 1979. Agora o MySQL ganhou o Linux Journal Readers Choice Award Linux 
por três anos consecutivos. 
O MySQL está agora disponível sob uma licença Open Source, mas licenças 
comerciais também estão disponíveis se requeridas. 
 
INTEGRAÇÃO DE BANCO DE DADOS 
 
O PHP tem conexões nativas disponíveis para muitos sistemas de banco de dados. 
Além do MySQL, você pode conectar-se diretamente a banco de dados PostgreSQL, 
mSQL, Oracle, dbm, filePro, HyperWave, Infomix, InterBase e SyBase, entre outros. 
Utilizando o Open Database Connectivity Standard (ODCS), você pode conctar-se a 
qualquer banco de dados que forneça um driver de ODCS. Isso inclui produtos da 
Microsoft e muitos outros. 
 
VISÃO GERAL DO PHP 
 
Uma das aplicações mais comuns de qualquer linguagem de criação de scripts de lado 
do servidor é processar formulários de HTML. 
A primeira coisa a saber é que devemos configurar a ação do formulário para ser o 
nome do script de PHP que processará as informações. Em geral, o valor do atributo 
ACTION (em um arquivo HTML) é o URL que será carregado quando o usuário pressionar 
o botão Submit. Os dados que o usuário digitou no formulário serão enviados para este 
URL via o método especificado no atributo METHOD, um GET (acrescentado ao fim do 
URL) ou POST (enviado como um pacote separado). 
A segunda coisa a notar são os nomes dos campos de formulário. Utilizaremos esses 
nomes novamente no nosso script de PHP. Por causa disso é importante dar nomes 
PHP e MySQL Desenvolvimento Web 4 
Filipe Costa Fernandes 
significativos aos campos de formulário dos quais você possa facilmente se lembrar ao 
começar a escrever o script de PHP. 
Para embutir código PHP em HTML devemos simplesmente escrever o código PHP 
dentro do arquivo HTML. 
 
Ex: 
 
 <html><head> 
 <title> PHP e MySQL </title> 
 </head> 
 <body> 
 <h1> Meu primeiro programa </h1> 
 <?php 
 echo “<p> Código PHP em um arquivo HTML.”; 
 ?> 
 </body> </html> 
 
UTILIZANDO TAGS DE PHP 
 
O código de PHP no exemplo anterior começou com <?php e acabou com ?>. Isso é 
semelhante a todas as tags HTML porque todas começam com um símbolo menor que (<) e 
terminam com um símbolo maior que (>). Esses símbolos são chamados tags de PHP que 
dizem ao servidor da Web onde o código de PHP começa e onde termina. Qualquer texto 
entre as tagas será interpretado como PHP. Qualquer texto fora dessas tags será tratado com 
HTML normal. 
 
COMENTÁRIOS 
 
Os comentários em PHP começam com /* e terminam com */. 
/* esta linha não será processada pois está como comentário */ 
 
ACESSANDO VARIÁVEIS DE FORMULÁRIO 
 
Dentro do script dePHP, você pode acessar cada um dos campos de formulário como 
uma variável com o mesmo nome do campo de formulário. 
 
Ex:. 
 Em um arquivo HTML que tenha o seguinte campo de formulário: 
 <input type=”text” name=”teste” size=20 maxlength=20> 
 Ao clicar em um botão submit e enviar estes dados para um arquivo PHP, o PHP 
receberá uma variável de nome teste contendo o mesmo valor do campo de formulário do 
HTML. 
 
As variáveis são tratadas pelo PHP com um sinal de $ (cifrão) no inicio. A variável 
teste do exemplo anterior será tratada pelo PHP com $teste. 
 
PHP e MySQL Desenvolvimento Web 5 
Filipe Costa Fernandes 
TIPOS DE DADOS DO PHP 
 
O PHP suporta os seguintes tipos de dados: 
• Integer – Utilizado para números. 
• Double – Utilizado para números reais. 
• String – Utilizado para strings de caracteres. 
• Array – Utilizado para armazenar múltiplos itens de dados do mesmo tipo 
(vetor e matriz) 
• Object – Utilizado para armazenar instâncias de Classes. 
 
Transformando tipos de dados do PHP 
 
Seja a variável $total do tipo integer, para transforma-la em double usamos o seguinte 
código: $total = (double)$total; 
 
CONSTANTES 
 
Como você viu anteriormente, podemos alterar o valor armazenado em uma variável. 
Também podemos declarar constantes. Uma constante armazena um valor como um 
variável, mas seu valor é configurado uma vez e, então, não pode ser alterado em outra 
parte no script. 
Declaramos uma constante de nome total e de valor 10: 
Define(“TOTAL”,10); 
As constantes não usam o sinal de cifrão no seu inicio, veja: 
Echo TOTAL; 
 
OPERADORES ARITMÉTICOS 
 
 
Operador Nome Exemplo 
 
+ 
- 
* 
/ 
% 
Adição 
Subtração 
Multiplicação 
Divisão 
Módulo 
$a + $b 
$a - $b 
$a * $b 
$a / $b 
$a % $b 
 
 
 
OPERADORES DE COMPARAÇÃO DO PHP 
 
 
Operador Nome Utilização 
 
PHP e MySQL Desenvolvimento Web 6 
Filipe Costa Fernandes 
= = 
= = = 
!= 
<> 
< 
> 
<= 
>= 
igual a 
idêntico a 
não igual a 
não igual a 
menor que 
maior que 
menor que ou igual a 
maior que ou igual a 
$a = = $b 
$a = = = $b 
$a != $b 
$a <> $b 
$a < $b 
$a > $b 
$a <= $b 
$a >= $b 
 
 
 
 
O OPERADOR TERNÁRIO 
 
Condição ? valor_se_true : valor_se_false 
 
($total>60) ? “Aprovado” : “Reprovado” 
 
 
FUNÇÕES DO PHP 
 
Gettype($variável) -> retorna um string com o nome do tipo da variável. 
 
Is_array($var), is_doublé($var), is_float($var), is_real($var), is_long($var), 
is_int($var), is_integer($var), is_string($var), is_object($var) -> retorna true se $var for 
desse tipo e false se não for. 
 
IF 
 
If ($total = = 0) 
{ 
 echo “total é igual a zero”; 
} 
else 
{ 
 echo “total não é igual a zero”; 
} 
 
 
 
SWITCH (CASE) 
 
Switch($total) 
{ 
 case 0 : 
 echo “total é igual a zero”; 
PHP e MySQL Desenvolvimento Web 7 
Filipe Costa Fernandes 
 break; 
 case 1 : 
 echo “total é igual a um”; 
 break; 
 default : 
 echo “total indefinido”; 
 break; 
} 
 
 
WHILE 
 
$num = 1; 
while ($num <= 5) 
{ 
 echo $num . ”<BR>”; 
 $num++; 
} 
 
 
FOR 
 
For ($num = 1; $num <= 5; $num++) 
{ 
 echo $num . “<BR>”; 
} 
 
 
DO .. WHILE 
 
$num = 1; 
do 
{ 
 echo $num . “<BR>”; 
 $num++ 
} while ($num < 1); 
 
ARRAYS 
 
$vetor = array (“um”, “dois”, “três”); 
 
ou 
 
$vetor[0] = “um”; 
$vetor[1] = “dois”; 
$vetor[2] = “três”; 
PHP e MySQL Desenvolvimento Web 8 
Filipe Costa Fernandes 
 
$vetor = array (“um”->1, “dois”->2); 
 
ou 
 
$vetor[“um”] = 1; 
$vetor[“dois”] = 2; 
 
MATRIZ 
 
$matriz = array ( array (1,2,3), array(4,5,6), array(789)); 
 
SHUFFLE 
 
A função shuffle mistura os elementos de um vetor. 
 
$números = array (1,2,3,4,5,6,7,8,9); 
shuffle($números); 
echo $numeos[1]; 
/*cada vez que passar por aqui vai imprimir um número diferente entre 1 e 9*/ 
 
 
MANIPULAÇÃO DE STRING 
 
$texto . “texto adicional” -> contatena o conteúdo de $texto com texto adicional. 
 
trim($texto) -> elimina os espaços em branco da esquerda e da direita de $texto. 
 
ltrim($texto) -> elimina os espaços em branco somente da esquerda de $texto. 
 
chop($texto) -> elimina os espaços em branco somente da direita de $texto. 
 
strtoupper() -> deixa o texto em letras maiúsculas. 
 
strtolower() -> deixa o texto em letras minúsculas. 
 
Ucfirst() -> coloca o primeiro caractere da string em maiúsculo. 
 
Ucwords() -> coloca o primeiro caractere de cada palavras do texto em maiúsculo. 
 
 
FORMATAÇÃO DE STRING PARA ARMAZENAMENTO EM BANCO DE 
DADOS 
 
Certos caracteres são perfeitamente válidos como parte de uma string mas podem 
causar problemas, particularmente ao inserir dados em um banco de dados porque o banco 
PHP e MySQL Desenvolvimento Web 9 
Filipe Costa Fernandes 
de dados poderia interpretar esses caracteres como caracteres de controle. Os caracteres 
problemáticos são aspas simples e duplas, barra invertida (\) e o caractere NUL. 
Para evitar esse problema adicione uma barra invertida na frente destes caracteres. 
Por exemplo, no lugar de aspas duplas (“) use barra invertida aspa dupla (\”). 
No lugar de barra invertida (\) use barra invertida barra invertida (\\). 
 
O PHP fornece duas funções para ajudar a resolver este problema, uma que coloca a 
barras invertida (\) e outra que as tira. 
 
AddSlashes($texto) -> formata $texto, colocando barra invertida (\) onde for 
necessário. 
 
StripSlashes($texto) -> formata $texto, retirando as barras invertidas (\) de onde 
AddSlashes colocou. 
 
UNINDO E SEPARANDO STRING (Join, implode, explode) 
 
Join(“caracter_de_união”, $vetor); -> unir uma string 
 
Ex.: $vetor[0] = “Filipe”; 
 $vetor[1] = “Costa”; 
 $vetor[2] = “Fernandes”; 
 $tudo = join(“#”,$vetor); 
 echo $tudo /*o resultado será Filipe#Costa#Fernandes 
 
A função implode é idêntica a join. 
 
Explode(“caracter_de_união”,$vetor); -> separar uma string 
 
Ex.: $vetor = explode(“#”,$tudo); 
 
SUBSTR(string, inicio, comprimento) -> Retorna uma parte da string. 
 
$parte = substr(“Filipe”,2,4) /*retorna de Filipe, a partir do segundo caracter, quatro 
caracteres. Resultado lipe. 
 
STRCMP(string1,string2) -> Compara igualdade entre duas strings. Se as strings 
forem iguais, retorna zero (0). Se string1 for maior que string2, retorna um numero maior 
que zero (0). Se string2 for maior que string1, retorna um numero menor que zero (0). 
 
Strcmp(“Filipe”,$nome); //verifica se nome é igual a Filipe. 
 
STRCASECMP(string1,string2) -> É igual a STRCMP, mas não faz distinção entre 
letras maiúsculas e minúsculas, enquanto STRCMP faz. 
 
STRLEN(str) -> Retorna o comprimento de str. 
PHP e MySQL Desenvolvimento Web 10 
Filipe Costa Fernandes 
 
Echo strlen(“Filipe”); // irá imprimir 6. 
 
STRSTR(palheiro,agulha) -> Procura por uma substring em uma string. STRSTR 
procura por agulha em palheiro. Se STRSTR encontrar agulha em palheiro ela retorna 
palheiro a partir de agulha para frente, caso contrario retorna false. 
 
Srt = strstr(“PHP-Nuke”,”PHP”); 
 
UTILIZANDO REQUIRE( ) E INCLUDE( ) 
 
Utilizando Require( ) e include( ) pode-se carregar uma arquivo no script de PHP. 
As instruções require( ) e include( ) são muito semelhantes, mas existem algumas 
diferenças importantes na maneira como elas funcionam. 
Uma instrução include( ) é avaliada toda vez que instrução é executada e 
simplesmente não será avaliada se a instrução não for executada. Uma instrução require( ) é 
executada a primeira vez em que instrução é analisada sintaticamente, independentemente 
de o bloco de código que a contém ser execitado. 
 
Ex.: 
 Require(“nome_do_arquivo”); 
 Require($var_com_o_nome_do_arquivo); 
 
 Include(“nome_do_arquivo”); 
 include($var_com_o_nome_do_arquivo);A principal diferença entre include( ) e require( ) é que include retorna 1 se for bem 
sucedida ao tentar carregar o arquivo especificado e retorna 0 se não conseguir carregar o 
arquivo especificado. 
 
 
CHAMANDO FUNÇÕES 
 
Para chamar uma função com o PHP simplesmente digitamos o nome da função 
seguido de parênteses, e se a função tiver parâmetros e/ou retorno estes também deverão ser 
lembrados. 
 
Ex.: 
Função simples: 
nome_da_função( ); 
 
Função com um parâmetro ou mais: 
 Nome_da_função(lista de parâmetros separados por virgula); 
 
Função com retorno: 
 $var = nome_da_função( ); 
 
PHP e MySQL Desenvolvimento Web 11 
Filipe Costa Fernandes 
OBSERVAÇÃO: 
 
Nomes de funções não fazem distinção entre letras maiúsculas e minúsculas, e nomes 
de variáveis fazem esta distinção. 
 
Ex.: 
 As funções somador( ), SoMaDoR( ) e SOMADOR( ), fazem referencia a 
mesma função. 
 As variáveis total, ToTal e TOTAL, são três variáveis diferentes. 
 
ESTRUTURA BÁSICA DA FUNÇÃO 
 
Function nome_da_função( ) 
{ 
 echo “corpo da função”; 
} 
 
function nome_da_função( lista de parâmetros) 
{ 
 echo “corpo da função”; 
 return “retorno”; 
} 
 
function nome_da_função( & lista de parâmetros) 
{ 
 echo “corpo da função”; 
} 
 
Observação: O & (e comercial) antes do nome do parâmetro na declaração da função 
indica que este parâmetro está sendo passado por referencia. 
 
PHP ORIENTADO A OBJETOS 
 
Estrutura de uma classe 
Uma definição mínima de classe é parecida com o seguinte: 
 Class classname 
 { 
 } 
 
Para serem úteis nossas classes precisam de atributos e operações. Criamos atributos 
declarando variáveis dentro de uma definição de classe utilizando a palavra-chave var. 
 
Ex.: 
 Class classname 
 { 
 var $atributo1; 
 var $atributo2; 
PHP e MySQL Desenvolvimento Web 12 
Filipe Costa Fernandes 
 function operacao1( ) 
 { 
 } 
 function operação2( ) 
 { 
 } 
 } 
 
Construtores 
 
A maioria das classes tem um tipo de operação chamada construtor. Um construtor é 
chamado quando um objeto é criado e ele normalmente também realiza tarefas úteis de 
inicialização como configurar atributos como valores iniciais sensíveis ou criar outros 
objetos necessários para esse objeto. 
Um construtor é declarado da mesma maneira como outras operações, mas tem o 
mesmo nome que a classe. Embora manualmente possamos chamar o construtor, seu 
propósito principal é ser chamado automaticamente quando um objeto é criado. 
 
Ex.: 
 Class classname 
 { 
 function classname ( $parametro ) 
 { 
 echo “Construtor chamado como o parâmetro $parametro”; 
 } 
 } 
 
Para criarmos objetos de uma classe agimos da seguinte maneira: 
 
$a = new classname(“Primeiro”); 
 
A linha acima cria um objeto da classe classname, chamado de $a e passa o parâmetro 
“primeiro” para esta classe. Quando o objeto $a é criado, automaticamente o construtor da 
classe classname é chamado e ele ecoará uma mensagem como a seguinte: 
 
Construtor chamado com o parâmetro Primeiro 
 
UTILIZANDO ATRIBUTOS DE CLASSE 
 
Dentro de uma classe temos acesso a um ponteiro especial chamado $this. Se um 
atributo de sua classe atual se chama $atributo, podemos referenciá-lo como $this->atributo 
quando configurarmos ou acessarmos a variável a partir de uma operação dentro da classe. 
 
Var $atributo; 
Function operação( $param ) 
{ 
 $this->atributo = $param; 
PHP e MySQL Desenvolvimento Web 13 
Filipe Costa Fernandes 
 echo $this->atributo; 
} 
 
outro exemplo, 
 
class classname 
{ 
 var $atributo; 
} 
 
$a = new classname( ); 
$a->atributo = “valor”; 
echo $a->atributo; 
 
outro exemplo, 
 
class classname 
{ 
 var $atributo; 
 function get_atributo( ) 
 { 
 return $this->atributo; 
 } 
 function set_atributo( $novo_valor ) 
 { 
 $this->atributo = $novo_valor; 
 } 
} 
 
 
 
Chamando operações de classe 
 
Ex.: 
 
Class classname 
{ 
 function operacao1( ) 
 { 
 } 
 function operacao2( $param1, $param2 ) 
 { 
 } 
} 
 
$a = new classname( ); 
 
PHP e MySQL Desenvolvimento Web 14 
Filipe Costa Fernandes 
$a->operacao1( ); 
$a->operacao2(12,”teste”); 
 
se as operações retornam algo, podemos capturar esses dados de retorno da seguinte 
maneira: 
 
$x = $a->operacao1( ); 
$y = $a->operacao2(12,”teste”); 
 
IMPLEMENTANDO HERANÇA NO PHP 
 
Se nossa classe deve ser uma subclasse de outra, você pode utilizar a palavra-chave 
extends para especificar isso. O próximo código cria uma classe chamada B que herda de 
alguma classe anteriormente definida chamada A. 
 
Class B extends A 
{ 
 var $atributo2; 
 function operacao2( ) 
 { 
 } 
} 
 
class A 
{ 
 var $atributo1; 
 function operacao1( ) 
 { 
 } 
} 
 
todos os seguintes acessos a operações e atributos de um objeto de tipo B seriam 
válidos: 
 
$b = new B( ); 
$b->operacao1( ); 
$b->atributo1 = 10; 
$b->operacao2( ); 
$b->atributo2 = 10; 
 
A classe B pode referenciar operacao1( ) e $atributo1, mas a classe A não pode 
referenciar operacao2( ) e $atributo2. 
 
 
CRIANDO BANCO DE DADOS DA WEB 
 
Como efetuar logon no MySQL 
PHP e MySQL Desenvolvimento Web 15 
Filipe Costa Fernandes 
 
Para fazer isso, vá para uma interface de linha de comando na sua máquina e digite o 
seguinte: 
 > mysql –h nome_do_host –u nome_do_usuário -p 
 
A opção –h é utilizada para especificar o host a que você quer conectar-se; isto é, a 
máquina em que o servidor de MySQL está executando. Se estiver executando esse 
comando na mesma máquina que o servidor de MySQL, você pode omitir essa opção. A 
opção –u é utilizada para especificar o nome do usuário e a opção –p instrui o servidor ao 
qual você quer conectar-se utilizando uma senha. 
 
Criando Banco de Dados e Usuários 
 
Para criar um banco de dados devemos digitar a seguinte linha de comando no prompt 
do MySQL: 
 Mysql> create database nomedodb; 
 
Se tudo ocorreu bem, você deverá ver uma resposta parecida com a seguinte: 
 
 Query OK, 1 row affected (0.06 sec) 
 
Isso significa que tudo funcionou bem. 
 
Usuários e privilégios 
 
O comando GRANT é utilizado para criar usuários e fornecer privilégios. O 
formulário geral do comando GRNAT é: 
 
 GRANT privilégios [colunas] 
 ON item 
 TO nome_do_usuário [IDENTIFIED BY ‘senha’] 
 [WITH GRANT OPTION] 
as cláusulas entre colchetes são opcionais. 
 
Tipos e níveis de privilégios 
 
PRIVILÉGIO APLICA-SE A DESCRIÇÃO 
Select Tabelas, colunas Fazer seleção 
Insert Tabelas, colunas Fazer inserção 
Update Tabelas, colunas Fazer alteração 
Delete Tabelas Fazer deleção 
Index Tabelas Criar ou excluir índices 
Alter Tabelas Alterar estrutura de tabelas 
Create Banco de dados, tabelas Criar BDs e Tabelas 
Drop Banco de dados, tabelas Excluir BDs ou tabelas 
 
PHP e MySQL Desenvolvimento Web 16 
Filipe Costa Fernandes 
Privilégios para administradores 
 
PRIVILÉGIO DESCRIÇÃO 
Reload Permite recarregar tabelas Grant e limpar privilégio, hosts, logs e tabelas. 
Shutdown Permite desligar o servidor de MySQL. 
Process Permite visualizar processos de servidor e elimina-los. 
File Permite que os dados sejam lidos em tabelas a partir de arquivos e vice-
versa. 
 
O comando REVOKE 
 
REVOKE é o oposto de GRANT. Esse comando é utilizado para retirar privilégios de 
um usuário. Sua sintaxe é muito semelhante a de GRANT: 
 
REVOKE privilégios [(colunas)] 
ON item 
FROM nome_do_usuário 
 
Se você concedeu a cláusula WITH GRANT OPTION, pode revogar fazendo assim: 
 
REVOKE GRANT OPTION 
ON item 
FROM nome_do_usuário <F”?”P14> 
 
Exemplos utilizando GRANT e REVOKE 
 
Para configurar um administrador, você pode digitar: 
 
Mysql> Grant all 
 -> on * 
 -> to Fred identified by ‘mn123’ 
 -> With Grant Option; 
 
Isso concede todos os privilégios em todosos bancos de dados a um usuário chamado 
Fred com a senha mnb123 e permite a ele passar esses privilégios a outros usuários. 
 
O exemplo abaixo mostra como retirar o usuário Fred: 
 
Mysql> revoke all 
 -> on * 
 -> from Fred; 
 
Agora vamos configurar um usuário regular sem privilégios: 
 
Mysql> Grant usage 
 -> on books.* 
PHP e MySQL Desenvolvimento Web 17 
Filipe Costa Fernandes 
 -> to sally identified by ‘magic123’; 
 
Para mudarmos os privilégios de sally agimos assim: 
 
Mysql> Grant select, insert, update, delete, index, alter, create, drop 
 -> on books.* 
 -> to sally; 
 
Para retirarmos alguns privilégios de sally, agimos assim: 
 
Mysql> revoke alter, create, drop 
 -> on books.* 
 -> from sally; 
 
E mais tarde, se sally não precisar mais utilizar o banco de dados, podemos revogar 
seus privilégios de uma só vez, agindo assim: 
 
Mysql> revoke all 
 -> on books.* 
 -> from sally; 
 
Configurando um usuário para a Web 
 
O exemplo abaixo mostra como configurar um usuário simples para utilizar nosso 
banco de dados na Web: 
 
Grant select, insert, delete, update 
On books.* 
To username identified by ‘user_pass’; 
 
 
 
Utilizando o banco de dados correto 
 
Para utilizarmos um banco de dados, devemos digitar a seguinte linha de comando: 
 
Mysql> use data_base_name; 
 
Mysql> use books; 
 
Criando tabelas de banco de dados 
 
Para criar uma tabela de banco de dados utilizamos o comando CREATE TABLE. 
 
Ex.: CREATE TABLE nome_da_tabela ( colunas ) 
 
Podemos criar tabela de banco de dados através de um arquivo texto, veja: 
PHP e MySQL Desenvolvimento Web 18 
Filipe Costa Fernandes 
 
> mysql –h host –u username dbname –p < arquivo.sql 
 
Exemplos de como usar o comando CREATE TABLE 
 
Create table clientes 
( cliente_id int unsigned not null auto_increment primary key, 
 nome char(30) not null, 
 endereco char(40) not null, 
 cidade char(20) not null 
); 
 
Create table ordens 
( ordem_id int unsigned not null, 
 especificacao char(13) not null, 
 quantidade tinyint unsigned, 
 
 primary key (ordem_id, especificacao) 
); 
 
Veja o banco de dados com SHOW e DESCRIBE 
 
Mysql> show tables; 
 
O exemplo acima exibirá uma lista com os nomes de todas as tabelas do banco de 
dados atual. 
 
Mysql> describe tabela; 
 
O exemplo acima exibirá os dados (campos) da tabela especificada. 
 
 
INSERINDO DADOS NO BANCO DE DADOS 
 
Para inserir dados em nosso banco de dados utilizamos a instrução INSERT de SQL. 
A forma normal de uma instrução INSERT é: 
 
INSERT [INTO] tabela [(coluna1, coluna2,...)] VALUES (valor1, valor2,...); 
 
Por exemplo, para inserir o nome, endereço, telefone e idade em uma tabela chamada 
cliente, devemos agir da seguinte forma: 
 
Insert into clientes values (“Filipe”,”Ipatinga”,”(031)38261111”,21); 
 
Se quisermos inserir somente alguns itens, como por exemplo, nome e idade agimos 
da seguinte maneira: 
 
PHP e MySQL Desenvolvimento Web 19 
Filipe Costa Fernandes 
Insert into clientes ( nome, idade ) values (“Filipe”,21); 
 
Podemos alcançar o mesmo objetivo com a seguinte linha de código: 
 
Insert into clientes set nome=”Filipe”, idade=21; 
 
Observação: Quando temos um campo de auto_incremento em nosso banco de 
dados, não precisamos inserir este campo ou inserimos como NULL. 
 
Por exemplo: 
 
Insert into clientes values (NULL,”Filipe”,”Ipatinga”,”38261111”,21); 
 
Ou 
 
Insert into clientes (nome, cidade, telefone, idade) values 
(“Filipe”,”Ipatinga”,”38261111”,21); 
 
Se quisermos inserir mais de uma linha de uma só vez, devemos separar os valores 
das linhas por virgula, como mostrado no exemplo abaixo: 
 
Insert into clientes values 
 (“Filipe”,”Ipatinga”,”38261111”,21), 
 (“Thiago”,”Ipatinga”,”38262222”,18) 
 (“Gildete”,”Sete Cachoeiras”,”38213333”,42) 
 (“Natan”,”Santana do Paraíso”,”38224444”,45); 
 
Ou podemos inserir valores através de um arquivo com códigos SQL: 
 
> mysql –h host –u username –p < arquivo.sql 
 
 
Recuperando dados do banco de dados 
 
Para recuperarmos dados de um banco de dados, usamos a instrução SQL SELECT. 
A forma básica de uma instrução SELECT é mostrada abaixo: 
SELECT itens 
FROM tabelas 
[ WHERE condição ] 
[ GROUP BY tipo_de_grupo ] 
[ HAVING definição_de_where ] 
[ ORDER BY item_de_ordenação ] 
[ LIMIT critérios_de_limite ] ; 
 
A forma mais simples de uma consulta em SQL é mostrada abaixo: 
 
SELECT * 
PHP e MySQL Desenvolvimento Web 20 
Filipe Costa Fernandes 
FROM tabela; 
 
Onde (*) siginifica tudo (todos os campos existentes em tabela) 
 
SELECT itens 
Seleciona as colunas da tabela definidas em itens. 
Ex.: select nome, idade 
 
FROM tabelas 
Determina que tabelas serão usadas na consulta. 
Ex.: from clientes, fornecedores 
 
[ WHERE condição ] 
Determina a condição para seleção. 
Ex.: where clientes.código = fornecedores.código and clientes.nome=”Filipe” 
 
[GROUP BY tipo_de_grupo ] 
Nos fornece o resultado da consulta em grupos. Como por exemplo, se eu quero saber 
o valor total das compras realizadas por um determinado cliente, eu faço a consulta com um 
GROUP BY por nome de clientes. 
Ex.: group by clientes.nome 
 
[ HAVING definição_de_where ] 
Além de agrupar e agregar dados, podemos realmente testar o resultado de um 
agregado utilizando uma cláusula HAVING. Isso vem logo depois da cláusula GROUP BY 
e é como uma WHERE que se aplica somente a grupos e agregados. Para estender nosso 
exemplo anterior, se quisermos saber quais clientes tem um total de compras maior que 
R$50, podemos utilizar a seguinte consulta: 
 
Select C.nome, sum(CO.valor) 
From clientes as C, compras as CO 
WHERE C.código = CO.código 
GROUP BY C.nome 
HAVING sum(CO.valor) > 50; 
 
 
[ ORDER BY item_de_ordenação ] 
Ordena os dados da consulta em ordem crescente ou decrescente, definidos por ASC 
(crescente) ou DESC (decrescente). 
Ex.: ORDER BY nome asc ou ORDER BY nome desc 
 
[ LIMIT critérios_de_limite ] ; 
É utilizada para especificar quais linhas da saída devem ser retornadas. Essa cláusula 
aceita dois parâmetros: o número de linha a partir do qual iniciar e o número de linhas para 
retornar. 
Ex.: Select nome 
 From clientes 
PHP e MySQL Desenvolvimento Web 21 
Filipe Costa Fernandes 
 Limit 2, 3; 
 
Essa consulta pode ser lida como: “Selecione nome de clientes e então retorne 3 
linhas, iniciando da linha 2 na saída”. Note que os números de linhas começas a partir de 
zero. 
 
Operadores de comparação úteis para a cláusula WHERE 
 
= 
> 
< 
>= 
<= 
!= ou <> 
IS NOT 
IS NULL 
BETWEEN 
IN 
NOT IN 
LIKE 
NOT LIKE 
REGEXP 
 
Agrupando e agregando dados 
 
NOME DESCRIÇÃO 
AVG(coluna) Média de valores na coluna especificada 
COUNT(item) Se especificarmos uma coluna, essa função fornecerá o nº de valores 
não nulos nessa coluna. Se adicionar a palavra DISTINCT na frente do 
nome de coluna, você obterá uma contagem dos valores distintos 
somente nessa coluna. Se especificar COUNT(*), obterá uma contagem 
de linha independentemente dos valores nulos (NULL). 
MIN(coluna) O valor mínimo na coluna especificada. 
MAX(coluna) O valor máximo na coluna especificada. 
STD(coluna) Desvio padrão dos valores na coluna especificada. 
STDDEV(coluna) O mesmo que STD(coluna). 
SUM(coluna) Soma de valores na coluna especificada. 
 
 
ATUALIZANDO REGISTROS NO BANCO DE DADOS 
 
Para atualizarmos dados em nosso banco de dados usamos a instrução SQL 
UPDATE. 
A forma normal de uma instrução UPDATE é: 
 
UPDATE nome_da_tabela 
SET coluna1=expressão1, coluna2=expressão2,... 
WHERE condição 
LIMIT número ; 
 
A idéia básica é atualizar a tabela chamada nome_da_tabela, configurando cada uma 
das colunas chamadas como a expressão apropriada. Você pode limitar uma UPDATE a 
linhas particulares com uma cláusula WHERE e limitaro número total de linhas para afetar 
com uma cláusula LIMIT. 
Vejamos alguns exemplos. 
PHP e MySQL Desenvolvimento Web 22 
Filipe Costa Fernandes 
 
UPDATE livros 
Set precos = precos*1.1 
 
O exemplo acima faz uma modificação na tabela livros, aumentando em 10% o preço 
de todos os livros. 
 
UPDATE cliente 
SET telefone = “38263333” 
WHERE nome = “Filipe”; 
 
O exemplo acima altera o telefone do cliente que se chama Filipe. 
 
Alterando tabelas depois da criação 
 
Para alterarmos a estrutura de uma tabela temos o instrução ALTER TABLE. 
Sua forma básica é: 
 
ALTER TABLE nome_da_tabela alteração1, alteração2,... 
 
Obs.: Podemos fazer somente uma alteração por instrução ALTER TABLE, mas 
podemos usá-la quantas vezes quisermos. 
 
Os diferentes tipos de alteração que podemos fazer com essa instrução são mostrados 
abaixo. 
 
 
 
 
 
 
SINTAXE DESCRIÇÃO 
ADD [coluna] descrição_da_coluna 
[FIRST | AFTER coluna] como 
Adiciona uma nova coluna na localização 
especificada (se não especificada, a coluna 
entra no final). Note que as 
descrições_da_coluna precisam de um nome 
e um tipo, exatamente como uma instrução 
CREATE. 
ADD [coluna] (descrição_da_coluna, 
descrição_da_coluna,...) 
Adiciona uma ou mais colunas novas no fim 
da tabela. 
ADD INDEX [índice] (coluna,...) Aa um índice à tabela na coluna especificada 
ADD PRIMARY KEY (coluna,...) Torna a coluna especificada a chave primária 
da tabela. 
ADD UNIQUE [índice] (coluna,...) Adiciona um índice à tabela na coluna 
especificada. 
ALTER [coluna] coluna (SET DEFAULT Adiciona ou remove um valor padrão de 
PHP e MySQL Desenvolvimento Web 23 
Filipe Costa Fernandes 
valor | DROP DEFAULT) uma coluna particular. 
CHANGE [coluna] coluna 
Descrição_da_nova_coluna,... 
Altera a coluna chamada [coluna] para que 
ela tenha a descrição listada. Observe que 
isso pode ser utilizado para alterar o nome de 
uma coluna porque uma 
descrição_da_coluna inclui um nome. 
MODIFY [coluna] descrição_da_coluna Semelhante a CHANGE, mas não altera o 
nome. 
DROP [coluna] coluna Exclui a coluna. 
DROP PRIMARY KEY Exclui o índice primário (mas não a coluna). 
DROP INDEX índice Exclui o índice identificado. 
RENAME [as] nome_da_nova_tabela Renomeia uma tabela. 
 
Vejamos alguns exemplos. 
 
Alter table clientes 
Modify nome char(45) not null; 
 
Alter table pedidos 
Add taxa float(6.2) after valor; 
 
Alter table pedidos 
Drop taxa; 
 
Excluindo registros do banco de dados 
 
Excluir linhas do banco de dados é muito simples. Você pode fazer isso utilizando a 
instrução DELETE, que é geralmente assim: 
 
DELETE FROM tabela 
WHERE condição 
LIMIT número 
 
Se você escrever DELETE FROM TABELA apenas, todas as linhas da tabela serão 
excluídas, então tenha cuidado! 
A cláusula LIMIT pode ser utilizada para limitar o número máximo de linhs que serão 
realmente excluídas. 
Ex.: 
 Delete from clientes 
 Where codigo=5; 
 
Excluindo tabelas e bancos de dados 
 
Para excluir tabelas usamos a instrução DROP TABLE, que é parecida com: 
 
 DROP TABLE tabela; 
PHP e MySQL Desenvolvimento Web 24 
Filipe Costa Fernandes 
 
Para excluir bancos de dados usamos a instrução DROP DATABASE, que é parecida 
com: 
 
 DROP DATABASE banco_de_dados; 
 
 
ACESSANDO SEU BANCO DE DADOS MySQL A PARTIR DA WEB COM O 
PHP 
 
A arquitetura básica de um banco de dados da Web consiste no navegador da Web, 
servidor da Web, mecanismo de criação de script e servidor de banco de dados. Veja a 
ilustração abaixo. 
 
 1 2 3 
Navegador Servidor Mecanismo MySQL 
 WEB PHP Server 
 6 5 4 
 
abaixo segue um exemplo (em forma de codigo) de como podemos acessar uma 
banco de dados MySQL a partir da WEB com o PHP. 
 
<Arquivo procura.html> 
 
<html> 
<head> 
 <title> Procura por livros </title> 
</head> 
 
<body> 
 <h1> Livraria PHP – Catalogo de procura </h1> 
 <form action=”resultado.php” method=”post”> 
 Escolha o tipo da pesquisa: <br> 
 <select name=”tipo”> 
 <option value=”autor”> Autor 
 <option value=”titulo”> titulo 
 <option value=”codigo”> codigo 
 </select> 
 <br> 
 Digite o termo de pesquisa: <br> 
 <input name=”pesquisa” type=text> 
 <br> 
 <input type=submit value=”Pesquisar”> 
 </form> 
</body> 
</html> 
 
PHP e MySQL Desenvolvimento Web 25 
Filipe Costa Fernandes 
Este código nos mostra um formulário com um Combobox para escolhermos o tipo, e 
um edit para digitarmos os parametros para a pesquisa. E por fim um botão para pesquisar. 
Ou clicarmos neste botão será chamado o arquivo resultado.php, e seu código é mostrado 
abaixo. 
 
<resultado.php> 
 
<html> 
<head> 
 <title> Procura por livros </title> 
</head> 
<body> 
 <h1> Livraria PHP – Catalogo de procura </h1> 
<?php 
 trim($pesquisa); 
 if (!$tipo || !$pesquisa ) 
 { 
 echo “Informe todos os campos. Volte e os digite.”; 
 exit; 
 } 
$tipo = addslashes($tipo); 
$pesquisa = addslashes($pesquisa); 
 
@ $db = mysql_pconnect(“localhost”,”banco_de_dados”,”senha”); 
 
if (!$db) 
{ 
 echo “Erro: Não conectado ao banco de dados”; 
 exit; 
} 
 
mysql_select_db(“banco_de_dados”); 
$query = “select * from livros where “.$tipo.” Like ‘%”.$pesquisa.”%’”; 
$result = mysql_query($query); 
$num_result = mysql_num_rows($result); 
 
for ($i=0;$i<num_result;$i++) 
{ 
 $linha = mysql_fetch_array($result); 
 echo “<p><strong>”.($i+1).”. Titulo: “; 
 echo htmlspecialchars( stripslashes($linha[“titulo”])); 
 echo “</strong><br>Autor: “; 
 echo htmlspecialchars( stripslashes($linha[“autor”])); 
 echo “<br> Codigo: “; 
 echo htmlspecialchars( stripslashes($linha[“codigor”])); 
 echo “<br> Preço: “; 
 echo htmlspecialchars( stripslashes($linha[“preco”])); 
PHP e MySQL Desenvolvimento Web 26 
Filipe Costa Fernandes 
 echo “</p>”; 
} 
 
?> 
</body> 
</html> 
 
CONFIGURANDO UMA CONEXÃO 
 
@ $db = mysql_pconnect(“localhost”, “Usuário”,”Senha”); 
 
Esta função retorna um identificador de link para seu banco de dados do MySQL em 
caso de sucesso ou falso em caso de falha. 
 
Para realizar conexões com banco de dados temos duas funções, mysql_pconnect( ) e 
mysql_connect( ). A diferença é que mysql_pconnect( ) retorna uma conexão persistente 
para o banco de dados. 
Uma conexão normal para o banco de dados será fechada quando um script concluir a 
execução ou quando o script chamar mysql_close( ). A conexão persistente permanece 
aberta depois que o script conclui a execução e não pode ser fechada com a função 
mysql_close( ). 
Fazer uma conexão com um banco de dados envolve uma certa quantidade de 
overhead e, portanto, leva algum tempo. Quando mysql_pconnect( ) é chamado, antes de 
tentar conectar-se ao banco de dados, ele automaticamente verificará se já não há uma 
conexão persistente aberta. Se houver, ele utilizará essa em vez de abrir uma nova. Isso 
economiza tempo e overhead de servidor. 
 
ESCOLHENDO UM BANCO DE DADOS PARA UTILIZAR 
 
Podemos escolher o banco de dados que queremos utilizar com a função 
 
Mysql_select_db(“banco_de_dados”); 
 
CONSULTANDO O BANCO DE DADOS 
 
Para realizar uma consulta utilizamos a função mysql_query( ), mas, antes é bom 
configurarmos a consulta que desejamos executar: 
 
$query = “select * from livros”; 
 
Agora podemos executar a consulta: 
 
$result = mysql_query($query); 
 
ou podemos utilizar a função 
 
mysql_db_query, 
PHP e MySQL Desenvolvimento Web 27 
Filipe Costa Fernandes 
 
Esta função é muito semelhante a anterior, mas permiteespecificar o banco de dados 
em que você gostaria de executar a consulta. Essa função é como uma combinação das 
funções mysql_select_db( ) e mysql_query( ). 
 
 RECUPERANDO RESULTADOS DA CONSULTA 
 
Para recuperar o resultado da consulta usaremos duas funções: mysql_num_rows( ) e 
mysql_fetch_array( ). 
 
A função mysql_num_rows( ) fornece o número de linhas retornadas pela consulta. 
 
$num_results = mysql_num_rows( $result ); 
 
A função mysql_fetch_array( ) retorna cada linha da consulta em um array 
associativo, com cada chave um nome de atributo e com cada valor o valor correspondente 
no array. 
 
$row = mysql_fetch_array( $result ); 
 
Para acessarmos o campo nome resultante desta consulta usamos o seguinte comando 
 
$row[“nome”]; 
 
Há diversas variações quanto ao método de obter resultados a partir de um 
identificador de resultado. Em vez de um array associativo, podemos recuperar os 
resultados em um array enumerado com mysql_fetch_row( ), da seguinte maneira: 
 
$row = mysql_fetch_row( $result ); 
 
Para acessarmos um campo resultante desta consulta usamos o número referente ao 
campo desejado. Por exemplo, se o campo nome for o primeiro campo da tabela usamos o 
seguinte comando: 
 
$row[0]; 
 
DESCONECTANDO-SE DO BANCO DE DADOS 
 
Para fechar uma conexão com o banco de dados usamos 
 
Mysql_close( nome_da_conexão ) 
 
LIBERANDO ESPAÇO 
 
Para liberar espaço em memória usamos mysql_free_result. Esta função libera a 
memória utilizada para armazenar o resultado de uma consulta. 
 
PHP e MySQL Desenvolvimento Web 28 
Filipe Costa Fernandes 
Mysql_free_result( $result )

Continue navegando