Aula 08 - PHP e MySQL
Aula 08 - PHP e MySQL
3
Características do PHP
Código aberto
Embutido no HTML
Baseado no servidor
Suporte a diversos Banco de Dados
Portabilidade
4
Histórico
PHP/FI (Forms Interpreter) (1995)
PHP/FI 2.0 (1997)
PHP 3.0 (Junho de 1998)
PHP 4.0 (maio de 2000)
PHP 5.0 (Julho de 2007)
5
Áreas que os scripts PHP são usados
6
Sistemas operacionais
Linux
Unix like: Solaris, OpenBSD, MacOS X, ...
Microsoft Windows
7
Servidores HTTP
Apache
IIS (Internet Information Service)
8
Tipo de programação
Procedural
Orientada a Objetos
9
Funcionalidades do PHP
Gerar HTML
Geração de imagens
Arquivos PDF
Animações em Flash
10
Suporte a banco de dados
MySQL
Oracle
Interbase
PostgresSQL
Outros
...
11
Criação de scripts PHP
Todo trecho de programa PHP deve estar
entre as tags <?php e ?>para que o
servidor Web saiba que esse trecho trata-se
de um código em PHP e que deve ser
processado
Exemplo:
<?php
echo "Hello, world !";
?>
12
Variáveis
Variáveis proveem uma maneira de atribuir
um nome a uma área de memória que
conterá um dado
Inicia por $ seguido de uma letra ou _ - é
case sensitive, isto é, sensível ao caso
(distinção entre letras maiúsculas e
minúsculas)
Por exemplo, a variável $Cor é
completamente diferente da variável $cor
13
Comentários
De uma linha:
// este é o comentário de uma linha
# este é o comentário de uma linha
14
Tipos de dados
Não é necessário declarar uma variável antes de usá-la. Basta atribuir um valor
inicial. A checagem de tipos é feita dinamicamente.
Exemplo:
$x=5;
$x="policamp";
$x=3.14;
Inteiro
Ponto flutuante
String
Array
Objeto
15
Inteiros (integer ou long)
$x = 4567; # inteiro
$y = -127; # inteiro negativo
$o = 0116; # inteiro em representação octal
(base 8)
$hex = 0x0F; # inteiro em representação
hexadecimal (base 16)
16
Ponto Flutuante (double ou float)
$PI=3.14;
$MOL=6.02e23; # uso da notação científica
17
Strings
Uma string é uma cadeia (sequência) de
caracteres delimitadas pelos caracteres " ou '
Exemplos:
"1", "Policamp", 'Campinas', 'Minas Gerais'
18
Strings
Podem ser delimitadas por aspas simples (literal)
ou aspas duplas (onde há interpretação de
varáveis e caracteres especiais).
Caracteres especiais:
\n (new line)
\r (carriage return)
\t (tab)
\\ (barra invertida)
\$ (cifrão)
\' (aspa simple)
\" (aspa dupla)
19
Booleano
Expressa um valor lógico que pode ser verdadeiro
(TRUE) ou falso (FALSE)
Exemplo:
<?php
$valida=true;
if($valida) {
print "Validado\n";
}
?>
20
Arrays
São estruturas de dados que podem armazenar
múltiplos valores
Exemplo:
21
Arrays
Podem ser definidos como mapeamentos ou
vetores indexados
Exemplo:
<?php
$cores[0]="Red";
$cores[1]="Green";
$cores[2]="Blue";
?>
22
Arrays - tipos de índices
Ordenado baseado em número (começa
no 0) (indexada numericamente)
Associativo formado por caracteres
alfanuméricos (indexada por nome)
23
Arrays
// cria e inicializa um array (indexada numericamente)
$cores = array("Red", "Green", "Blue");
ou
ou
24
Arrays Associativos
São conjunto ordenados de chaves e
valores, onde cada valor é acessado
através de uma chave associada.
Exemplo:
$estados_e_capital = array (
'SP' => 'São Paulo',
'MG' => 'Belo Horizonte',
'RJ' => 'Rio de Janeiro',
'ES' => 'Vitória'
);
25
Arrays Associativos
<?php
$cor['red']=0;
$cor['green']=255;
$cor['blue']=0;
?>
ou
<?php
$cores=array('red'=>0, 'green'=>1, 'blue'=>2);
?>
26
Arrays (3)
Usamos a função unset() para destruir todo
o array.
27
Funções de array
array_pop($array) retira e retorna o último elemento do array
array_push ($array,$var) insere um ou mais elementos no fim de
um array
array_shift ($array) retira e retorna o primeiro elemento de um
array
array_unshift ($a,$val) insere um novo elemento no inicio de um
array
array_rand ($array) retorna um ou mais elementos do array
array_reverse ($array) retorna um array com ordem inversa
array_keys ($array) retorna as chaves de um array
array_values ($array) retorna os valores de um array
sizeof () retorna o número de elementos do array
count () retorna a quantidade de elementos de um array
28
Pseudo-Types
São tipos "falso" que ajudam da legibilidade:
mixed: indica que o parâmetro pode aceitar
múltiplos tipos mas não necessariamente
todos os tipos.
number: indica que o parâmetro pode ser
tanto integer ou float
callback
29
Função each
Função each Retorna o par chave/valor corrente de
um array e avança o seu cursor
Percorre os elemento de uma lista
$chamada = array (
"aluno1" => "francisco",
"alunos2" => "jose"
);
while(list($chave,$valor)=each($chamada)
{
echo "<p>Chave=[$chave],
Valor=[$valor]\n";
}
30
Listas
Cria variáveis como se fossem arrays
Assim como array(), não é exatamente uma
função, e sim uma construção da própria
linguagem.
list() é usada para criar uma lista de variáveis em
apenas uma operação.
Exemplo:
list($a,$b,$c)=array("a","b","c");
32
Transformação explicita de tipos
Exemplo:
$a = 6; # a é um integer (6)
$a = (float) 6; # é um float (6.0)
33
Casts permitidos
(int), (integer) Integer
(string) String
(array) Array
(objeto) objeto
34
Constantes
Uma constante é um identificador (nome) para um único valor que não se
altera durante a execução de um script)
Pré-definidas
Definidas pelo usuário
Exemplo:
define("MOL", 6.14e22);
define("PI", 3.1415);
echo MOL;
echo PI;
35
Constantes - Exemplo
<?php
// Nomes de constantes válidos
define("FOO", "alguma coisa");
define("FOO2", "alguma outra coisa");
define("FOO_BAR", "alguma coisa mais");
// Nomes de constantes inválidas
define("2FOO", "alguma coisa");
// Isto é válido, mas deve ser evitado:
// O PHP pode vir a fornecer uma constante mágica
// que danificará seu script
define("__FOO__", "alguma coisa");
?>
36
Constantes "Mágicas"
<?php
?>
37
Operadores
Aritméticos
Atribuição
Bit a bit
Lógicos
Comparação
Expressão condicional
Incremento e decremento
38
Operadores Aritméticos
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Resto da divisão (módulo)
39
Operadores de Atribuição
= ($a=5);
+= ($a = $a + 5; $a+=5;)
-=
*=
/=
%=
.=
40
Operadores de Atribuição (2)
<<=
>>
&=
|=
^=
41
Operadores Bit a Bit
& (and) – operação E
| (or) – operação OU
^ (xor) – operação OU-exclusivo
~ (not) – operação NÃO
<< - deslocamento de bits a esquerda
multiplicação por 2
>> - deslocamento de bits a direita
divisão por 2
42
Operadores Lógicos
and (e)
or (ou)
xor (ou-exclusivo)
! (negação)
&& (e)
|| (ou)
43
Operadores de Comparação (ou Condicionais)
== (igualdade)
!= (diferença)
< (menor que)
> (maior que)
<= (menor ou igual a)
>= (maior ou igual a)
44
Operador Ternário (ou Condicional)
(expressão) ? (expressão2) : (expressão3);
Exemplo:
$a=5;
$a > 5 ? $b="1" : $b="0";
é equivalente a:
if($a>5)
$b="1";
else
$b="0";
45
Operadores Unários
-oper : troca o sinal do operando
++
--
++$a : pré-incremento (incrementa $a em um e
depois retorna $a)
$a++ : pós-incremento
--$a : pré-decremento
$a-- : pós-decremento
46
Precedência de Operadores
- ! ~ ++ --
- * / %
- + - .
- << >>
- > < >= <=
- == != <>
- &
- ^
- |
- &&
- ||
- ?:
- = += -= *= /= %= &= ~= <<= >>= ^=
- AND
- XOR
- OR
47
Estruturas de Controle
Blocos
Comandos condicionais
Comando de repetição
48
Blocos
São sequência de comandos delimitados por
abre e fecha chaves ({ e })
49
Comando Condicional
if (expressão)
comando;
if(expressão) {
comando1;
...
comandoN;
}
50
Comando Condicional (2)
If (expressão)
comando1;
else
comando2;
If(expressão):
comando1;
...
comandoN;
else
comando1;
...
comandoN;
endif
51
Comando Condicional (3)
if(expressão1) {
comando1;
}
elseif(expressão2) {
comando2;
}
...
else{
comandoN;
}
52
Exemplo
<?php
$salario = 1000;
$desconto = 0.10; // 10%
if($total>900) {
echo "";
}
?>
53
switch
switch (expressão) {
case valor1:
comando1;
break;
case valor2:
comando2;
break;
}
54
Exemplo - switch
<?php
$i = 1;
switch($i) {
case 0:
print "i é igual a 0";
break;
case 1:
print "i é igual a 1";
break;
case 2:
print "i é igual a 2";
break;
default:
print "i não é igual a 0, 1 ou 2";
break;
}
?>
55
Comandos de repetição (laços)
while
do .. while
for
foreach
56
while
while (expressão) {
comando;
}
while (expressão) :
comando1;
...
comandoN;
endwhile;
57
Exemplo – comando while
<?php
$a = 1;
while ($a < 5) {
print $a;
$a++;
}
?>
58
do..while
$a=0;
do
{
echo "a=$a\n";
$a++;
}
while ($a<=10);
59
Exemplo – do .. while
<?php
$acabou = false;
do
{
print "loop ...";
$acabou=true;
}
while (!$acabou);
?>
60
for
for (expr1; expr2; expr3 ) {
comando1
..
comandoN
}
61
foreach
Apresenta duas sintaxes:
foreach ($nome_array as $elemento)
{
comandos
}
ou
foreach ($nome_array as $chave => $valor)
{
comandos
}
62
foreach (exemplo)
<?php
?>
63
foreach (exemplo)
<?php
$a = array (
"cod1" => 10,
"cod2" => 20,
"cod3" => 30,
"cod4" => 40);
?>
64
Comandos break e continue
break: pode ser usado em laços do, for e
while.
O break "quebra" a execução e continua
executando o próximo comando
break [n]; // onde n indica o número de
estruturas que deverão ser finalizadas
65
Comandos break e continue
continue: interrompe a execução e avalia
novamente a condição de teste
continue [n]; // onde n indica o número de
níveis que deverão ser iniciados
66
Exemplo - break
<?php
# break.php
if($i == 10) {
break;
}
?>
67
Exemplo - continue
<?php
if($i % 2) {
continue;
}
?>
68
Funções
Definição
Argumentos
Passagem de parâmetros (valor ou
referência)
Argumentos com valores pré-definidos
69
Funções - Sintaxe
function nome_da_função(
[arg1, [arg2, ...,[argN]]]
)
{
comando1;
...
comandoN;
[ return valor_de_retorno ];
}
70
Funções definidas pelo usuário
Uma função deve ser definida com a usando a
sintaxe indicada abaixo:
<?php
function foo($arg_1, $arg_2, /* ..., */
$arg_n)
{
echo "Função Exemplo.\n";
return $retval;
}
?>
71
Valores Retorno
A declaração return é opcional
Qualquer tipo poderá ser retornado incluindo
listas e objetos.
72
Exemplo do uso do return
<?php
function quadrado($num)
{
return $num * $num;
}
?>
73
Exemplo: Retornando um array com múltiplos
elementos
<?php
function numeros_pequenos()
{
return array (0, 1, 2);
}
list($zero,$um,$dois)=numeros_pequenos();
?>
74
Passagem de parâmetros
Existem dois tipos de passagem de
parâmetros:
por valor (by value)
por referência (by reference)
O padrão é a passagem por valor.
75
Exemplo de passagem de parâmetros
<?php
$a = 1;
echo incByValue($a,2); // retorna a=1
echo "a=$a\n";
$a = 1;
echo incByRef($a,2); // retorna a=3
echo "a=$a\n";
?>
76
Definição de valores padrões na chamada de funções
<?php
function incrementa($x, $valor=1)
{
$x += $valor;
return $x;
}
$a = 5;
echo "1. " . incrementa($a) . "<br>";
?>
77
Modificadores de variáveis
Variáveis estáticas (static)
mantém o valor que lhes foi atribuído na última
execução. Usa o operador static.
Variáveis variáveis ($$)
Variáveis de ambiente
78
Exemplo: uso de variável estática
<?php
function obtemProximo() {
static $contador=0;
return ++$contador;
}
?>
79
Variáveis de Ambiente
<?php
phpinfo();
?>
80
Inclusão de arquivos
include caso o arquivo não seja encontrado, é
retornado um warning e o processamento da página
continua
require caso o arquivo não seja encontrado, é
retornado um erro fatal
include_once se o arquivo já estiver sido incluso ele
será ignorado
require_once
Obs:
include e include_once retornam uma advertência
(warning) no caso de erro.
require e require_once retornam um erro fatal em caso de
erro.
81
Include x Require
O comando include é reavaliado a cada
chamada
A instrução require pode incluir apenas um
arquivo (a função require não inclui arquivos
dinamicamente)
82
Exemplo
biblioteca.php
<?php
/*
* função quadrado
* retorna o quadrado de um número
*
*/
function quadrado($num)
{
return $num * $num;
}
?>
83
Exemplo
teste_include.php
<?php
// carrega o arquivo com a função necessária
include 'biblioteca.php';
// imprime o quadrado de 2
echo quadrado(2);
?>
84
Tipo de variável
string gettype(mixed var);
Possíveis valores de retorno:
Integer
Double
String
Array
Object
Unknown type
85
Formulários HTML
<form
method="[GET|POST]"
action=""
name =""
>
...
</form>
86
Tratando informações recebidas de
Formulários
$_POST: array global que permite a leitura de
variáveis passadas através de um formulário
HTML usando método POST
$_GET : array global que permite a leitura de
variáveis passadas na URL através de um
formulário HTML usando método GET
87
Método GET
$nome = $_GET['nome']
$email = $_GET['email']
echo "$_GET['nome']";
echo "$_GET['email']";
88
Método POST
$_POST['nome']
$_POST['email']
echo "$_POST['nome']";
echo "$_POST['email']";
89
Exemplo – Método POST
form.html script.php
<form method="POST" <?php
action="script.php"> $nome=$_POST["nome"];
Nome: Echo "<p>nome=$nome";
<input name="nome" </php>
type="text">
</form>
90
Exemplo – Método GET
form.html script.php
<?php
<form method="GET" $nome=$_GET["nome"];
action="script.php"> echo "<p>nome=$nome";
Nome: </php>
<input name="nome"
type="text">
</form>
91
Algumas funções úteis
string htmlspecialchars ( string $string [, int
$quote_style [, string $charset]] )
Converte caracteres especiais para a realidade HTML
string stripslashes ( string $str )
Retorna uma string com as barras invertidas retiradas.
(\ se torna ' e assim por diante.) Duas barras invertidas (\\)
se tornam uma (\).
urlencode(string $str); Codifica uma URL
urldecode(string $str); Decodifica qualquer %##
codificado na string.
nl2br() — Insere quebras de linha HTML antes de todas
newlines em uma string
92
Variáveis Superglobals
$GLOBALS
Contém uma referencia a todas as variáveis disponíveis no escopo global no script. As
chaves desse array são os nomes das variáveis globais.
$_SERVER
Variáveis setadas pelo servidor web ou de outra forma relacionadas diretamente ao
ambiente de execução do ambiente corrente.
$_GET
Variáveis providas pelo script via URL query string.
$_POST
Variáveis providas pelo script via HTTP POST.
$_COOKIE
Variáveis providas ao script via HTTP cookies.
93
Variáveis Superglobals (2)
$_FILES
Variáveis providas ao script através do upload de arquivos via POST usando
HTTP.
$_ENV
Variáveis de ambientes providas ao script.
$_REQUEST
Variáveis providas ao script via mecanismos de entrada como GET, POST e
COOKIE. Veja também import_request_variables().
$_SESSION
Variáveis que estão registradas a uma sessão de associada a um script.
94
Funções úteis na validação de formulários
bool empty ( mixed $var )
– verifica se determinada variável esta vazia (nula)
strlen() – retorna o número de caracteres de uma
string
strstr() – acha a primeira ocorrência de uma
string. Se não encontrar retorna falso (FALSE)
bool isset ( mixed $var [, mixed $var [, $...]] )
Informa se a variável foi iniciada (Retorna TRUE
se var existir; FALSE senão)
95
Cookies e Sessions
HTTP é um protocolo "sem estado"
O que significa o protocolo HTTP ser um
protocolo "sem estado" ?
Significa que ele não guarda informações entre
uma transação e outra (elas são
independentes). Portanto é necessário um
mecanismo que permita que sejam criadas
"relações entre as transações"
96
Cookies e Sessions
Cookie e Session são mecanismos que
permitem armazenar informações enquanto
o usuário navega entre diferentes páginas
de um site
97
Exemplos de uso de cookies e sessões
Autenticação de usuários
Carrinho de compras
Exibição de anúncios ou imagens
Personalização de páginas
98
Uso de Cookies
É um arquivo texto armazenado no computador do
usuário (cliente) para ser posteriormente
recuperado pelo servidor
Formado por um par nome/valor
Tempo de validade: tempo no qual o cookie estará
armazenado no micro do usuário
O uso de cookie poderá ser habilitado /
desabilitado pelo navegador (no cliente)
99
Uso de cookies
bool setcookie (string nome [, string valor [, int validade [,
string caminho [, string dominio [, int seguro]]]]]), onde:
100
Exemplo
setcookie("username","joao@net");
101
Recuperação de Cookies
Uso do array superglobal $_COOKIE
Exemplo:
setcookie("username","joao@net");
102
Recuperação de Cookies
IMPORTANTE: os cookies não poderão ser usados
dentro da própria página que os criou. Ele poderá
apenas ser usado a partir do envio da próxima
solicitação vinda do navegador do usuário (do
cliente)
103
Exemplo de uso: autenticação de usuários
104
Passos para Autenticação
Podemos dividir a autenticação de usuários com o
uso de cookies em três passos:
1) Criação de uma página de login
2) Criação de uma rotina de validação para que seja
usada nas páginas que fazem uso das áreas
restritas
3) Criação de uma página de logout para os
usuários autenticados a fim de realizar a
exclusão do cookie.
105
Exemplo de login usando cookies
login.html página inicial de login
login.php processa o pedido de login;
valida usuário e senha no banco de dados
valida_cookies.inc valida os cookies
pagina_inicial.php página validada
logout.php limpa os cookies armazenados
no cliente; redireciona para página de login
106
Sessão (Session)
É um período de tempo durante o qual uma pessoa
navega pelas páginas de um site
107
Propagação do SessionID
Poderá ser feito por:
cookies
108
Criação de Sessão no PHP
Manual
Explícita (session_start)
Implícita (ao registrar uma variável com a
função session_register)
Automática
Depende da diretiva session.auto_start estar
habilitada no arquivo php.ini
109
Exemplo de Session
<?php $contador=
session_start(); $_SESSION['contador'];
?>
110
Cookies x Sessões
Cookies Sessões
Tempo de duração
Tempo de duração Dura enquanto o usuário
Pode permanecer permanecer dentro do site
armazenado por mais Local de armazenamento
tempo (mesmo após o Arquivos localizados no
navegador ser eliminado) servidor (um arquivo por
sessão)
Local de armazenamento
Pequenos arquivos
armazenados na máquina
do usuário
111
Cookies x Sessões
Cookies Sessões
Pode permanecer armazenado por Dura enquanto o
Tempo de mais tempo (mesmo após o usuário permanecer
duração navegador ser eliminado) dentro do site
Arquivos localizados no
Local de servidor (um arquivo
Pequenos arquivos armazenados na
armazena por sessão)
máquina do usuário
mento
112
Parâmetros de Configuração - Session
session
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx
113
Parâmetros de Configuração - Session
Directive Local Value Master Value
session.hash_bits_per_character 4 4
session.hash_function 0 0 114
Parâmetros de Configuração - Session
session.use_cookies On On
session.use_trans_sid 0 0
115
Comandos básicos de saída
echo é uma comando que imprime uma ou
mais variáveis no console
print é uma função que imprime uma string no
console
var_dump imprime o conteúdo de uma
variável
print_r imprime o conteúdo de uma variável,
mas num formato mais legível para o programador
116
Manipulação de Arquivos
fopen
feof
fgets
fwrite
fclose
file_put_contents
file_get_contents
117
Manipulação de Arquivos
file
copy
rename
unlink
file_exists
is_file
118
Manipulação de Diretórios
mkdir
getcwd
chdir
rmdir
opendir
closedir
readdir
119
Manipulação de Arquivos e Diretórios
120
Manipulação de strings – algumas funções
strtoupper() retorna a string usando letras
maiúsculas
strtolower () retorna a string usando letras
minúsculas
substr () retorna uma substring
strpad ()
strrepeat ()
strlen () retorna o tamanho da string
str_replace () substitui uma string por outra
str_pos () retorna a posição de início de uma
string em outra string
121
Classes e Objetos
Classes
Métodos
122
Classe - Exemplo
class Complexo {
private $real;
private $imag;
public function real() {
return $this->real;
}
public function imag() {
return $this->imag;
}
}
123
Criação de Objetos
$z = new Complexo;
$parte_real = $z->real();
$parte_imag = $z->imag();
124
Bibliografia
Dall'Oglio, P. PHP Programando com
Orientação a Objetos. Novatec. 2007.
NIEDERAUER, J. Web Interativa com
Ajax e PHP. Novatec, 2007.
NIEDERAUER, J. Desenvolvendo Web
Sites com PHP. Novatec, 2007.
Manual do PHP. http://br.php.net/manual
125
Backup Slides
126
PHP e MySQL
127
Conectando do BD MySQL
<?php
$conexao = mysql_connect(
"localhost",
"usuario",
"password");
?>
128
Selecionando a Base de Dados
$nomebanco = mysql_select_db('teste',
$conexao);
129
Exemplo de Consulta em SQL
<?php
$resultado = mysql_query(
"select * from produto"
);
while($linha=mysql_fetch_array($resultado)
{
foreach($linha as $valor) {
echo "$valor<br />";
}
}
mysql_close($conexao);
?>
130
Fechando uma conexão
mysql_close($conexao)
131
mysql API
mysql_affected_rows() – retorna o número de linhas afetadas por
uma operação
mysql_fetch_array() – armazena a linha atual em um array
associativo
mysql_fetch_object() – retorna uma linha como um objeto
mysql_fetch_row() – armazena a linha atual em um array
mysql_result() – retorna uma coluna do resultado
mysql_num_rows() – retorna o numero de linhas de uma consulta
mysql_num_fields() – retorna o numero de colunas de uma
consulta
mysql_field_name() – retorna o nome de uma coluna em uma
consulta
132
mysql API
int mysql_connect(str host, str
username, str password)
int mysql_select_db(str database [,
int link_identifier])
int mysql_query(str query [, int
link_identifier])
array mysql_fetch_array(int result [,
int result_type])
133
mysql API
array mysql_fetch_row(int result)
int mysql_insert_id([int
link_identifier]) --> retorna o
número de linhas após execução de um
comando select
int mysql_affected_rows([int
link_identifier]) --> retorna o nº de
linhas que foram afetados em uma
tabela por comandos update, insert e
delete
134
mysql API
mysql_error()
135
Exemplo
Aplicação de Cadastro de Alunos
http://127.0.0.1/aluno/tela1.html
Apresentação de Notícias
http://127.0.0.1/noticias2
136
Exemplos de Funções
137
Funções date e time
string date (
string $format
[, int $timestamp ]
)
Formata a data e a hora local
int time ( void )
138
Exemplos
<?php
echo date("Y-m-d",0),"\n";
echo date("Y-m-d",time()),"\n";
echo date("d/m/Y",time()),"\n";
echo date("d/m/y",time()),"\n";
echo date("d/m/y H:i:s",time()),"\n";
?>
1969-12-31
2008-11-27
27/11/2008
27/11/08
27/11/08 09:20:11
139
Função mktime
int mktime ([ int $hora
[, int $minuto
[, int $second
[, int $mes
[, int $dia
[, int $ano
[, int $is_dst ]]]]]]] )
Obtém um timestamp Unix para uma data
140
Exemplo
<?php
echo date("d/m/Y H:i:s",
mktime(2, 12, 4, 10, 3, 01));
?>
141
Função strtotime
$data_formatada =
date("d/m/Y",strtotime($data));
echo "<td>$data_formatada</td>";
142
Datas - MySQL
date_format(date, format)
Exemplo:
SELECT *, date_format(data,'%d/%m/%Y') dt
FROM teste.gasto g
where date_format(data,'%d/%m/%Y')='26/11/2008'
143
Exemplo
Seleciona os gastos entre duas datas:
SELECT *, date_format(data,'%d/%m/%Y') dt
FROM teste.gasto g
where date_format(data,'%Y%m%d') between
'20081124' and
'20081125'
144
Questões
Qual é a diferença entre os comandos echo
e print ?
echo "1","2"; // ok
print "1","2"; // erro: o comando print não
suporta ',' separando os operadores
Qual é a diferença entre os comandos
require e include ?
145
Cabeçalho de um script PHP
<?php
---
---
---
?>
146
Definição de variáveis
Em PHP não é necessário fazer a declaração
de variáveis
147
Delimitadores de string
'' aspas simples
s='um $nome\n';
heredoc
$str = <<<EOD
Aqui podemos definir
uma string
EOD;
148
Definição de Constantes
bool define (string nome, misto valor [, bool
case_insensitive])
Exemplo:
define (OK,true);
define(NOK,false);
echo OK;
149
Tipos de Variáveis
Numéricas
Alfanuméricas (Strings)
Arrays
Objetos
150
Classes
Classes: são agrupamentos de variáveis e
funções
Objeto: é uma instância de uma classe
151
Diferenças entre echo e print
TRUE 1 – qualquer valor não vazio é tratado
como verdadeiro
FALSE 0
echo "1","2"; // ok
print "1","2"; // erro: o comando print não
suporta ',' separando os operadores
152
PHP 5.3
Migração
http://docs.php.net/migration53
Manual do PHP
http://docs.php.net/manual/pt_BR/index.ph
p
Referência de Funções
http://docs.php.net/manual/pt_BR/funcref.p
hp
153
Links
Revista PHP Magazine
http://www.phpmagazine.org.br
154
Funções MySQL
mysql_affected_rows — Obtém o número de linhas
atingidas na operação anterior do MySQL
mysql_change_user — Muda o usuário da conexão ativa
mysql_client_encoding — Retorna o nome do conjunto de
caracteres
mysql_close — Fecha a conexão MySQL
mysql_connect — Abre uma conexão com um servidor
MySQL
mysql_create_db — Cria um banco de dados MySQL
mysql_data_seek — Move o ponteiro interno do resultado
mysql_db_name — Obtém dados do resultado(nome de
banco de dados)
mysql_db_query — Envia uma consulta MySQL
mysql_drop_db — Exclui um banco de dados MySQL
155
Funções MySQL
mysql_errno — Retorna o valor numérico da mensagem de erro da
operação MySQL anterior
mysql_error — Retorna o texto da mensagem de erro da operação
MySQL anterior
mysql_escape_string — Escapa uma string para usar em uma consulta
MySQL
mysql_fetch_array — Obtém uma linha como uma matriz associativa,
uma matriz numérica, ou ambas
mysql_fetch_assoc — Obtém um linha do resultado como uma matriz
associativa
mysql_fetch_field — Obtém informações sobre uma coluna de um
resultado e retorna como um objeto
mysql_fetch_lengths — Obtém o tamanho de cada saída no resultado
mysql_fetch_object — Obtém o resultado de uma linha como um
objeto
mysql_fetch_row — Obtém uma linha como uma array numérica
mysql_field_flags — Obtém as flags associadas ao campo especificado
em um resultado
156
Funções MySQL
mysql_field_len — Retorna o tamanho do campo especificado
mysql_field_name — Obtém o nome do campo especificado em um
resultado
mysql_field_seek — Define o ponteiro do resultado para o índice de
campo especificado
mysql_field_table — Obtém o nome da tabela na qual o campo
especificado esta
mysql_field_type — Obtém o tipo do campo especificado em um
resultado
mysql_free_result — Libera um resultado da memória
mysql_get_client_info — Obtém informações do cliente MySQL
mysql_get_host_info — Obtém informações do servidor MySQL
mysql_get_proto_info — Obtém informações do protocolo MySQL
mysql_get_server_info — Obtém informações do servidor MySQL
157
Funções MySQL
mysql_info — Obtém informação sobre a consulta mais recente
mysql_insert_id — Obtém o ID gerado pela operação INSERT anterior
mysql_list_dbs — Lista os bancos de dados disponíveis em um servidor
MySQL
mysql_list_fields — Lista os campos de uma tabela MySQL
mysql_list_processes — Lista os processos MySQL
mysql_list_tables — Lista as tabelas em um banco de dados MySQL
mysql_num_fields — Obtém o numero de campos em um resultado
mysql_num_rows — Obtém o número de linhas em um resultado
mysql_pconnect — Abre uma conexão persistente com um servidor
MySQL
mysql_ping — pinga uma conexão com o servidor ou reconecta se não
houver conexão
158
Funções MySQL
mysql_query — Envia uma consulta MySQL
mysql_real_escape_string — Escapa os caracteres especiais
numa string para usar em um comando SQL, levando em
conta o conjunto atual de caracteres.
mysql_result — Retorna dados do resultado
mysql_select_db — Seleciona um banco de dados MySQL
mysql_set_charset — Sets the client character set
mysql_stat — Retorna o status atual do sistema
mysql_tablename — Retorna o nome da tabela do campo
mysql_thread_id — Returna o ID da thread atual
mysql_unbuffered_query — Envia uma query para o
MySQL, sem retornar e colocar em buffer as linhas do
resultado
159
MySQLi
http://docs.php.net/manual/pt_BR/mysqli.su
mmary.php
160