Vous êtes sur la page 1sur 17

PHP / MySQL

Página | 1
Índice

O que é PHP?......................................................................................................................... 4
Sintaxe Básica........................................................................................................................ 4
Delimitando o código PHP ................................................................................................. 4
Separador de instruções ...................................................................................................... 4
Nomes de variáveis ................................................................................................................ 4
Comentários ........................................................................................................................... 5
Comentários de uma linha: ................................................................................................. 5
Comentários de mais de uma linha: .................................................................................... 5
Operadores............................................................................................................................. 5
Aritméticos ........................................................................................................................ 5
de strings ............................................................................................................................ 5
bit a bit ............................................................................................................................... 6
Lógicos .............................................................................................................................. 6
Comparação ....................................................................................................................... 6
de incremento e decremento ............................................................................................... 7
Estruturas de Controle ............................................................................................................ 7
Blocos ................................................................................................................................ 7
Comandos de seleção ......................................................................................................... 8
if ........................................................................................................................................ 8
switch ................................................................................................................................ 9
Comandos de repetição ........................................................................................................ 10
while ................................................................................................................................ 10
do... while ........................................................................................................................ 11
for .................................................................................................................................... 12
Quebra de fluxo ................................................................................................................... 12
Break ............................................................................................................................... 12
Sessões ................................................................................................................................ 13
Registrando uma sessão: .................................................................................................. 13
Destruindo uma sessão ..................................................................................................... 14
Include ................................................................................................................................. 14
<? include “texto.php”; ?> ................................................................................................... 15
Criando conexão com banco de dados MySQL .................................................................... 15
Operações com MySQL ....................................................................................................... 15
Selecionando dados .......................................................................................................... 15
Obtendo o número de linhas de uma consulta ................................................................... 16

Página | 2
Inserindo dados no MySQL com PHP .............................................................................. 16
Excluindo dados do banco com PHP ................................................................................ 16
Atualizando dados no MySQL com PHP .......................................................................... 16

Página | 3
O que é PHP?
PHP significa: Hypertext Preprocessor.
Você pode utilizar PHP para montar instantaneamente uma complexa página da Web ou
desencadear um programa que automaticamente execute o débito no cartão de crédito quando
um cliente realizar uma compra.
Falando estritamente, o PHP tem pouca relação com layout, eventos ou qualquer coisa
relacionada à aparência de uma página da Web. De fato, a maior parte do que o PHP realiza é
invisível para o usuário final. Alguém visualizando uma página de PHP não será capaz de
dizer que não foi escrita em HTML, porque o resultado final do PHP é HTML.
Rasmus Lerdorf – engenheiro de software, membro da equipe Apache e o
homem misterioso do ano – é o criador e a força motriz original por trás do PHP. A primeira
parte do PHP foi desenvolvida para utilização pessoal no final de 1994.

Sintaxe Básica
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:
<? php
comandos
?>

Separador de instruções
Para cada fim de linha de código tem que haver um ponto e vírgula, indicando ao
sistema fim de instrução.
Exemplo:
<? echo 'com ponto e vírgula' ; ?>

Nomes de variáveis
Toda variável em PHP tem seu nome composto pelo caractere $ e uma string, que deve
iniciar por uma letra ou o caractere “_”. PHP é case sensitive, ou seja, as variáveis $php e
$PHP são diferentes. Por isso é preciso ter muito cuidado ao definir os nomes das variáveis. É
bom evitar os nomes em maiúsculas, pois como veremos mais adiante, o PHP já possui
algumas variáveis pré-definidas cujos nomes são formados por letras maiúsculas.
Exemplo de variáveis: Índice
Página | 4
<? $var=2;
$var_B=”valor”; ?>

Comentários
Há dois tipos de comentários em código PHP:

Comentários de uma linha:

Marca como comentário até o final da linha ou até o final do bloco de código PHP - o
que vier antes. Pode ser delimitado por duas barras ( // ).
Exemplo:
<? echo “teste”; //este é um comentário de uma linha ?>

Comentários de mais de uma linha:


Tem como delimitadores os caracteres “/*” para o início do bloco e “*/” para o final do
comentário. Se o delimitador de final de código PHP ( ?> ) estiver dentro de um comentário,
não será reconhecido pelo interpretador.
Exemplo:

<?
echo “teste”; /* Isto é um comentário com mais
de uma linha que funciona corretamente*/ ?>

Operadores
Aritméticos

Só podem ser utilizados quando os operandos são números (integer ou float). Se forem
de outro tipo, terão seus valores convertidos antes da realização da operação.

+ adição
- subtração
* multiplicação
/ divisão
% módulo

de strings

Só há um operador exclusivo para strings:

. concatenação
Índice

Página | 5
de atribuição
Existe um operador básico de atribuição e diversos derivados. Sempre retornam
o valor atribuído. No caso dos operadores derivados de atribuição, a operação é feita entre os
dois operandos, sendo atribuído o resultado para o primeiro. A atribuição é sempre por valor,
e não por referência.

= 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

Exemplo:

<? $a = 7;
$a += 2; // $a passa a conter o valor 9 ?>

bit a bit

Comparam dois números bit a bit.


& “e” lógico
| “ou” lógico
^ ou exclusivo
~ não (inversão)
<< shift left
>> shift right

Lógicos

Utilizados para inteiros representando valores booleanos


and “e” lógico
or “ou” lógico
xor ou exclusivo
! não (inversão)
&& “e” lógico
|| “ou” lógico

Existem dois operadores para “e” e para “ou porque eles têm diferentes posições na
ordem de precedência.

Comparação

As comparações são feitas entre os valores contidos nas variáveis, e não as referências.
Índice

Página | 6
Sempre retornam um valor booleano.

== igual a
!= diferente de
< menor que
> maior que
<= menor ou igual a
>= maior ou igual a

de incremento e decremento

++ incremento
-- decremento

Podem ser utilizados de duas formas: antes ou depois da variável. 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.

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 ?>

Estruturas de Controle

As estruturas que veremos a seguir são comuns para as linguagens de programação


imperativas, bastando, portanto, descrever a sintaxe de cada uma delas, resumindo o
funcionamento.

Blocos
Um bloco consiste de vários comandos agrupados com o objetivo de relacioná-los com
determinado comando ou função. Em comandos como if, for, while, switch e em declarações
de funções blocos podem ser utilizados para permitir que um comando faça parte do contexto
desejado. Blocos em PHP são delimitados pelos caracteres “{” e “}”. A utilização dos
delimitadores de bloco em uma parte qualquer do código não relacionada com os comandos
citados ou funções não produzirá efeito algum, e será tratada normalmente pelo interpretador.
Exemplo:
<? if ($x == $y)
{ comando1;
comando2;} ?>
Índice
Página | 7
Comandos de seleção

Também chamados de condicionais, os comandos de seleção permitem executar


comandos ou blocos de comandos com base em testes feitos durante a execução.

if

O mais trivial dos comandos condicionais é o if. Ele testa a condição e executa o
comando indicado se o resultado for true (valor diferente de zero). Ele possui duas sintaxes:

<? if (expressão)
comando; ?>
<? if (expressão)
{ comando1;
comando2;
comando3;
comando4;
comando5;
comando1;
comando2;
comando3;} ?>

Para incluir mais de um comando no if da primeira sintaxe, é preciso utilizar um bloco,


demarcado por chaves.
O else é um complemento opcional para o if. Se utilizado, o comando será executado se
a expressão retornar o valor false (zero). Suas duas sintaxes são:

<? if (expressão)
{comando;}
else
{comando;} ?>

A seguir, temos um exemplo do comando if utilizado com else:

<? if ($a > $b)


{$maior = $a;}
else
{$maior = $b;} ?>

O exemplo acima coloca em $maior o maior valor entre $a e $b Índice

Página | 8
switch

O comando switch atua de maneira semelhante a uma série de comandos if na mesma


expressão. Freqüentemente o programador pode querer comparar uma variável com diversos
valores, e executar um código diferente a depender de qual valor é igual ao da variável.
Quando isso for necessário, deve-se usar o comando switch. O exemplo seguinte mostra dois
trechos de código que fazem a mesma coisa, sendo que o primeiro utiliza uma série de if‟s e o
segundo utiliza switch:

<? if ($i == 0)
echo “i é igual a zero”;
elseif ($i == 1)
echo “i é igual a um”;
elseif ($i == 2)
echo “i é igual a dois”;?>

<? $i=1;
switch ($i) {
case 0:
echo “i é igual a zero”;
break;
case 1:
echo “i é igual a um”;
break;
case 2:
echo “i é igual a dois”;
break; }?>

É importante compreender o funcionamento do switch para não cometer enganos. O


comando switch testa linha a linha os cases encontrados, e a partir do momento que encontra
um valor igual ao da variável testada, passa a executar todos os comandos seguintes, mesmo
os que fazem parte de outro teste, até o fim do bloco. por isso usa-se o comando break,
quebrando o fluxo e fazendo com que o código seja executado da maneira desejada. Veremos
mais sobre o break mais adiante. Veja o exemplo:

<? switch ($i)


{
case 0:
print “i é igual a zero”;
case 1: Índice
Página | 9
print “i é igual a um”;
case 2:
print “i é igual a dois”;
} ?>

No exemplo acima, se $i for igual a zero, os três comandos “print” serão executados. Se
$i for igual a 1, os dois últimos “print” serão executados. O comando só funcionará da
maneira desejada se $i for igual a 2.
Em outras linguagens que implementam o comando switch, ou similar, os valores a
serem testados só podem ser do tipo inteiro. Em PHP é permitido usar valores do tipo string
como elementos de teste do comando switch. O exemplo abaixo funciona perfeitamente:

<? switch ($s) {


case “casa”:
print “A casa é amarela”;
case “arvore”:
print “a árvore é bonita”;
case “lâmpada”:
print “João apagou a lâmpada”;
} ?>

Comandos de repetição
while

O while é o comando de repetição (laço) mais simples. Ele testa uma condição e executa um
comando, ou
um bloco de comandos, até que a condição testada seja falsa. Assim como o if, o while
também possui duas sintaxes alternativas:

while (<expressão>)
<comando>;

while (<expressão>){
<comando1>;
<comando2>;
<comando3>;
<comando4>;
<comando5>;
<comando3>; Índice

Página | 10
}

while (<expressão>):
<comando>;
...
<comando>;
endwhile;

A expressão só é testada a cada vez que o bloco de instruções termina, além do teste
inicial. Se o valor da expressão passar a ser false no meio do bloco de instruções, a execução
segue até o final do bloco. Se no teste inicial a condição for avaliada como false, o bloco de
comandos não será executado.
O exemplo a seguir mostra o uso do while para imprimir os números de 1 a 10:
<? $i = 1;
while ($i <=10)
echo $i++; ?>

do... while

O laço do...while funciona de maneira bastante semelhante ao while, com a simples


diferença que a expressão é testada ao final do bloco de comandos. O laço do...while possui
apenas uma sintaxe, que é a seguinte:

do {
<comando>
...
<comando>
} while (<expressão>);

O exemplo utilizado para ilustrar o uso do while pode ser feito da seguinte maneira
utilizando o
do... while:

<? $i = 0;
do {
echo ++$i;
} while ($i < 10);?>
Índice

Página | 11
for

O tipo de laço mais complexo é o for. Para os que programam em C, C++ ou Java, a
assimilação do funcionamento do for é natural. Mas para aqueles que estão acostumados a
linguagens como Pascal, há uma grande mudança para o uso do for. As três sintaxes
permitidas são:

for (<inicialização>;<condição>;<incremento ou decremento>)


<comando>;

for (<inicialização>;<condição>;<incremento ou decremento>){


<comando>;
<comando>;
<comando>;
<comando>;
<comando>;
}

for (<inicialização>;<condição>;<incremento ou decremento>):


<comando>;
...
<comando>;
endfor;

Exemplo:

<? for ($i = 0; $i < 100; $i++)


echo “$i“;?>

Nesse exemplo a variável $i possui o valor 0 que, após isso é feito um teste se $i for
menor que 100 após isso a variável $i recebe o incremento ++ ou seja recebe 1, abaixo é
exibido $i e ele volta ao início onde agora será feito o mesmo teste mas a variável possui o
valor 1.

Quebra de fluxo
Break

O comando break pode ser utilizado em laços de do, for e while, além do uso já visto no
Índice

Página | 12
comando switch. Ao encontrar um break dentro de um desses laços, o interpretador PHP
para imediatamente a execução do laço, seguindo normalmente o fluxo do script.
Índice
<? while ($x > 0)
{...
if ($x == 20) {
echo “erro! x = 20”;
break;
...
} }?>

No trecho de código acima, o laço while tem uma condição para seu término normal ($x
<= 0), mas foi utilizado o break para o caso de um término não previsto no início do laço.
Assim o interpretador seguirá para o comando seguinte ao laço.

Sessões
O suporte a sessões no PHP consiste em uma maneira de preservar certos dados atráves
dos acessos subsequentes. Isto permite a você fazer aplicações mais personalizadas e melhorar
a aparência do seu web site.
Um visitante acessando o seu web site ganha um identificador único, o assim chamado
id de sessão. Um exemplo é quando o usuário insere o nome de usuário e senha para acessar a
área restrita de um website como o webmail até que o usuário não clique no botão Sair, a
sessão guarda os dados do login para permitir o acesso a seus e-mails.
Iniciando uma sessão.
Para iniciar uma sessão devemos sempre inserir o código na primeira do script php
exemplo:

<? session_start(); ?>

Registrando uma sessão:

Digamos que você quer manter algum dado na sessão, para posterior uso.
Vamos para um exemplo prático.
Você tem uma tela de login onde o usuário digita o username e senha, com isso quando ele
acessar a área restrita você deverá saber se ele possui permissão para visualizar aquele
conteúdo, então poderíamos guardar essas informações em uma sessão e em cada página a ser
acessada esses dados serão verificados, caso contrário o usuário será redirecionado a tela de
login.
Índice

Página | 13
Vamos gravar isso na sessão, exemplo:
<? session_start();// foi iniciado uma sessão
$nome=$_POST['nome'];//a variável recebe o nome digitado pelo método POST
$_SESSION['id'] = $nome;
/*aqui criamos uma variável de sessão com o nome „id‟ e atribuímos a ela a variável $nome
que contém o que foi digitado*/
// aqui, podems imprimir o que gravamos na sessão!
echo "Você acessou no site através do '".$_SESSION['Parceiro']."' "; ?>

Destruindo uma sessão

Usando o exemplo citado acima quando colocamos o nome de usuário em uma sessão,
podemos destruir essa sessão, na prática isso seria o botão Sair de nosso website, quando o
usuário clicar nesse botão será redirecionado dd
Índice
para um arquivo que terá a função de eliminar a sessão que possui o seu nome de usuário.
Exemplos:
<? session_destroy();
/*Destroi toda a sessão eliminando todas as variáveis existentes na sessão*/?>

<? unset($_SESSION['id']);
/*Destroi somente a sessão id */ ?>

Include
O comando include serve para incluir um arquivo dentro de outro vamos ver isso com
um exemplo.
Vamos imaginar que você tenha um texto padrão para o topo do website, caso esse texto
tenha que ser exibido em todas as páginas do website, o programador deveria inserir o texto
em todas as páginas uma a uma.
Usando o include pode-se criar um único arquivo com o texto, e incluir-lo sempre que
necessário ao longo do website.
Exemplo:

Texto

texto.php

Texto Texto Texto Texto

No exemplo acima o arquivo texo.php está sendo incluído em todos os arquivos, caso
Índice
Página | 14
seja alterado a palavra “Texto” no arquivo texo.php o texto será alterado em todos os
arquivos que estão incluindo esse arquivo.

<? include “texto.php”; ?>

Criando conexão com banco de dados MySQL


Para criar uma conexão com o banco de dados e selecionar a base a qual iremos
utilizar, vamos usar duas funções do php como mostra o exemplo abaixo:

<? $con= mysql_connect(“localhost”,”root”,””);

$db= mysql _select_db(“infoweb”,$con); ?>

Explicando:

$con - é uma variável com o nome com


 mysql _connect - é uma função do php para se conectar ao banco de dados MySQL
entre parênteses está os parâmetros a serem usados nessa função

 “localhost” - local em que está o MySQL, nesse caso ele está instalado localmente,
mas caso estivesse em um servidor na web deveríamos colocar o caminho para
acessar esse servidor
 “root” - é o nome de usuário usado para acessar o MySQL esse usuário vem habilitado
quando instalamos o MySQL através do pacote XAMPP
 “” - senha do usuário que tem acesso ao MySQL, nesse caso a senha está em branco

 $db - é uma variável com o nome dB


 mysql _select_db - função para selecionar uma base de dados no MySQL
 “infoweb” - nome da base de dados a qual iremos nos conectar
 $con - é a variável já declarada anteriormente em que está recebendo a função
MySQL_connect junto com o parâmetros para a conexão.

Operações com MySQL

Selecionando dados

Para selecionar dados de uma tabela no MySQL devemos seguir os seguintes passos:

 fazer a conexão com o banco de dados e selecionar a base de dados que iremos fazer
as operações
 atribuir a frase SQL a uma variável
 usar uma função para executar a frase SQL no MySQL Índice
Página | 15
Exemplo:
<? $query = “Select * from tabUsuario”;
$executa = mysql_query($query); ?>

Atribuímos a variável $query a frase SQL que significa, “Selecione todos os campos
da tabela tabUsuarios”;
Atribuímos a variável $executa a função mysql_query que executa a frase SQL no
banco, nesse caso ela está executando a variável $query essa que contém a frase SQL.

Obtendo o número de linhas de uma consulta

Para obtermos o número de linhas retornadas de uma consulta utilizamos a função


“mysql_num_rows” ou seja o número de linhas.
Exemplo:
<? $query = “Select * from tabUsuario”;
$executa = mysql_query($query);
$linhas = mysql_num_rows($executa);?>

Atribuímos a variável $linhas a função mysql_num_rows essa que está retornando o


número de linhas encontrados na variável $executa que fez a consulta na tabUsuario.

Inserindo dados no MySQL com PHP

<? $query = “Insert into tabUsuario (nome,senha) values („master‟,‟123‟)”;


$executa = mysql_query($query);

Explicando:
Atribuímos a variável $query a seguinte frase SQL, “Insira dentro da tabUsuario nos
campos (nome, senha) os valores („master‟,‟123‟) ou seja na tabela de usuário temos
os campo nome e senha onde inserimos nesses campos os valores „master‟ e „123‟ na
sequência, perceba que utilizamos a função mysql_query para executar a frase SQL.

Excluindo dados do banco com PHP

<? $query = “Delete from tabUsuario where cod=‟1‟”;


$executa = mysql_query($query);

Explicando:
Usamos a frase SQL que foi atribuída a variável $query para “deletar os campos da
tabUsuario onde o campo cod for igual a 1” ou seja deletamos o usuário que possuía o
código nº 1.

Atualizando dados no MySQL com PHP

<? $query = “Update tabusuario set (nome=‟root‟,senha=‟123456‟) where cod=‟2‟”;


$executa = mysql_query($query);

Explicando: Índice

Página | 16
Usamos a frase SQL que foi atribuída a variável $query para “Atualizar os campos
(nome para root e senha para 123456) da tabUsuario onde o campo cod é igual a 2 ”.

Índice

Referência:

http://www.php.net/manual/pt_BR

Os exemplos apresentados nessa apostila são para consulta dos comandos básicos, veremos
outros comandos em laboratório durante o desenvolvimento do projeto, comandos esses que
serão estudados vendo a funcionalidade de cada um dentro do projeto.

Página | 17