Escolar Documentos
Profissional Documentos
Cultura Documentos
Integrando PHP 5
com MySQL
2a edio
Juliano Niederauer
Novatec
Sumrio
Introduo ao Guia.................................................................................... 5
Objetivos.........................................................................5
O que PHP?...................................................................5
O que MySQL?..............................................................6
Comparando MySQL e PostgreSQL..................................7
Linguagem PHP...................................................................................... 11
Introduo ao PHP..........................................................11
Variveis . ...................................................................... 12
Constantes..................................................................... 12
Arrays............................................................................ 13
Operadores.................................................................... 14
Aritmticos............................................................... 14
Binrios.................................................................... 14
Comparao............................................................. 14
Atribuio................................................................ 15
Lgicos.................................................................... 15
Estruturas de controle em PHP....................................... 15
if .......................................................................... 15
switch...................................................................... 16
while........................................................................ 17
do...while................................................................. 17
for .......................................................................... 18
foreach..................................................................... 19
Definio de funes...................................................... 19
Dados de formulrios HTML.......................................... 20
Sumrio
Nmero de linhas resultantes de uma consulta.......... 35
Armazenando uma linha em um array....................... 35
Armazenando uma linha em um objeto..................... 37
Obtendo o valor de um campo do resultado.............. 37
Gerenciando um banco de dados com PHP.....................38
Criando um menu principal para a loja.....................38
Incluindo produtos................................................... 39
Excluindo produtos...................................................41
Alterando produtos................................................... 42
Listando os produtos cadastrados............................. 45
Referncia do MySQL............................................................................... 62
Comandos SQL bsicos.................................................. 62
Aes do comando ALTER TABLE............................ 63
Operadores do MySQL................................................... 81
Operadores aritmticos............................................. 81
Operadores bitwise................................................... 81
Operadores lgicos .................................................. 81
Operadores de comparao....................................... 81
Operador LIKE......................................................... 82
Operador REGEXP................................................... 82
Caracteres especiais usados em REGEXP................... 82
Funes de agregao..................................................... 83
Funes de comparao..................................................84
Funo CASE................................................................. 85
Funes numricas......................................................... 85
Funes de string...........................................................88
Funes de data e hora................................................... 92
Outras funes............................................................... 97
Informaes adicionais............................................................................ 99
Download do cdigo-fonte..............................................99
Verso dos softwares utilizados no Guia..........................99
Problemas na execuo de funes..................................99
Links sobre PHP e MySQL............................................ 100
Notao utilizada neste Guia........................................ 100
Comentrios e sugestes............................................... 100
ndice remissivo.....................................................................................101
Introduo ao Guia
Introduo ao Guia
Objetivos
Este guia foi criado para auxiliar os programadores que desejam
integrar a linguagem PHP com o banco de dados MySQL. Para isso,
sero apresentados os procedimentos de instalao, configurao e
integrao dessas tecnologias, incluindo a configurao do servidor
web (ex: Apache).
Primeiramente, voc aprender a instalar e configurar os softwares
necessrios para executar os exemplos contidos neste guia. Em seguida,
veremos noes bsicas de programao PHP, no com o intuito de
detalhar toda a linguagem, mas de mostrar os recursos que sero teis
na integrao bsica com o MySQL.
Logo aps, sero mostradas noes bsicas do MySQL, onde voc
aprender a acessar o servidor MySQL e realizar as operaes desejadas
sobre um banco de dados nesse servidor.
Finalizando, ser apresentada a integrao completa entre o PHP
e o MySQL, com exemplos simples e prticos de como gerenciar um
banco de dados de produtos, com incluses, alteraes, excluses
e consultas. No final do guia, voc encontrar as referncias dos
comandos do PHP e do MySQL.
O que PHP?
PHP uma das linguagens de programao mais utilizadas na web para
a criao de pginas dinmicas. Suas principais caractersticas so:
Gratuito e com cdigo aberto: o arquivo de instalao pode
ser obtido gratuitamente no site http://www.php.net. Alm disso,
o PHP um software com cdigo-fonte aberto.
Embutido no HTML: o HTML e o PHP podem ser
misturados. Voc pode comear a escrever em PHP, de repente
escrever um trecho em HTML, depois voltar para o PHP, e
assim por diante.
Baseado no servidor: quando voc acessa uma pgina PHP
atravs do seu navegador, todo o cdigo PHP executado no
servidor, e somente o resultado final exibido para o usurio.
Portanto, o navegador exibe a pgina j processada, sem
consumir recursos de seu computador.
Bancos de dados: diversos bancos de dados so suportados
pelo PHP, ou seja, o PHP possui cdigo que executa funes
de cada um. Entre eles temos MySQL, PostgreSQL, SQLite,
InterBase, Oracle, SQL Server, entre outros que oferecem
suporte linguagem SQL (Structured Query Language).
Portabilidade: pode-se executar o PHP no Linux, Unix ou
Windows NT.
Introduo ao Guia
exemplo.php
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo Este um script PHP!;
?>
</body>
</html>
O que MySQL?
MySQL um SGBD (Sistema Gerenciador de Bancos de Dados)
relacional que utiliza a linguagem padro SQL (Structured Query
Language), e largamente utilizado em aplicaes para a Internet.
o mais popular entre os bancos de dados com cdigo-fonte aberto.
H mais de cinco milhes de instalaes do MySQL no mundo
todo, inclusive em sites com alto volume de dados e de trfego, como
Associated Press, Google, NASA, Sabre Holdings e Suzuki.
O MySQL uma alternativa atrativa porque, mesmo possuindo
uma tecnologia complexa de banco de dados, seu custo bastante baixo.
Tem como destaque suas caractersticas de velocidade, escalabilidade
e confiabilidade, o que vem fazendo com que ele seja adotado por
departamentos de TI (Tecnologia da Informao), desenvolvedores
web e vendedores de pacotes de softwares.
A seguir so listadas algumas vantagens do MySQL:
nmero ilimitado de utilizao por usurios simultneos;
capacidade de manipulao de tabelas com mais de 50.000.000
de registros;
alta velocidade de execuo de comandos;
fcil e eficiente controle de privilgios de usurios.
Portanto, o MySQL e o PHP formam uma excelente dupla para
o desenvolvimento de pginas web dinmicas, tanto para websites
pequenos como para grandes portais.
Introduo ao Guia
http://
10
Se a sua verso do MySQL for a 4.1 ou superior, voc ter que usar
a extenso mysqli:
extension=php_mysqli.dll
Linguagem PHP
11
Linguagem PHP
Introduo ao PHP
Um programa PHP pode ser escrito em qualquer editor de texto, como
por exemplo o Bloco de Notas (Notepad) do Windows ou o VI do Linux.
Um trecho de cdigo PHP deve estar entre as tags <?php e ?>, para que
o servidor web reconhea que trata-se de um cdigo de programao
e possa chamar o interpretador PHP para execut-lo. Para treinar, abra
o editor de texto de sua preferncia e digite as quatro linhas a seguir,
salvando o arquivo com o nome de exemplo2.php.
exemplo2.php
<?php
// Que bacana, estou programando em PHP!!!
echo <h1 align=center>Este meu primeiro programa!</h1>;
?>
Descrio
<?php
//
echo
?>
12
Linguagem PHP
Variveis
Servem para armazenar dados que podem ser usados em qualquer
ponto do programa. Ao contrrio de linguagens tradicionais, como C,
Pascal e Delphi, no PHP no necessrio fazer declarao de variveis.
Basta atribuir diretamente um valor a ela.
No PHP, as variveis devem iniciar com o smbolo $. Aps esse
smbolo deve vir o identificador da varivel, que no pode iniciar com
um nmero. Exemplos de variveis vlidas:
$joao23
$casal20
$teste450
exemplo3.php
<?php
$time = Grmio;
$titulo = Campeo da Amrica;
echo O $time $titulo;
?>
Veja que o valor das variveis $time e $titulo foi usado dentro da
string passada para o comando echo. O resultado ser:
O Grmio Campeo da Amrica
Constantes
So valores que so predefinidos no incio do programa, e que no
mudam ao longo de sua execuo. Voc pode definir suas prprias
constantes, utilizando o comando define, que possui a seguinte
sintaxe:
bool define (string nome, misto valor [, bool case_insensitive])
exemplo4.php
<?php
define
define
echo
echo
echo
?>
(meunome,Joo);
(peso,80);
O meu nome . meunome;
<br>;
O meu peso . peso . quilos;
Linguagem PHP
13
Arrays
As variveis comuns (escalares) podem armazenar apenas um valor
por vez. Um array (vetor) pode armazenar vrios valores ao mesmo
tempo. Alm de possuir um identificador, um array possui ndices (que
podem ser nmeros ou strings). O ndice deve aparecer entre colchetes
([]) logo aps o identificador do array. Veja a seguir alguns exemplos
de armazenamento em arrays:
$vetor[0] = 30;
$vetor[1] = 40;
exemplo5.php
<?php
$vetor = array (10,50,100,150,200);
echo $vetor[2] . <br>;
$vet = array (1, 2, 3, nome=>Juliano);
echo $vet[0] . <br>;
echo $vet[nome];
?>
14
Linguagem PHP
Operadores
Aritmticos
Operador
Operao
Adio.
Subtrao.
Multiplicao.
Diviso.
Resto da diviso.
-
*
/
%
Descrio
-oper
++oper
--oper
oper++
oper--
Binrios
Operador
Descrio
~op1
Comparao
Operador
Descrio
op1 == op2
Linguagem PHP
op1 <> op2
op1 > op2
op1 < op2
15
Atribuio
Operador
Descrio
op1 = op2
op1 += op2
op1 -= op2
op1 *= op2
op1 /= op2
op1 .= op2
op1 %= op2
Equivale a op1=op1+op2.
Equivale a op1=op1-op2.
Equivale a op1=op1*op2.
Equivale a op1=op1/op2.
Concatenao: equivale a op1=op1.op2.
Equivale a op1=op1%op2.
Equivale a op1=op1<<op2.
Equivale a op1=op1>>op2.
Equivale a op1=op1&op2.
Equivale a op1=op1|op2.
Equivale a op1=op1^op2.
Lgicos
Operador
Descrio
!op1
if
Comando que avalia uma expresso e, dependendo do resultado,
executado um conjunto diferente de instrues. O comando if pode
possuir como complemento o elseif e/ou o else. Observe a sintaxe
do comando if:
If ( exp1 )
{ bloco1 }
elseif ( exp2 )
{ bloco2 }
else
{ bloco3 }