Escolar Documentos
Profissional Documentos
Cultura Documentos
Utilizando PHP MySQL
Utilizando PHP MySQL
Contedo
Objetivos O que SQL/MySql O ambiente MySql A linguagem SQL O que PHP Utilizao a Linguagem !one"o #om $an#o e %a os &"em'los &"e(#)#ios
V Seminrio de Desenvolvimento em Software Livre
Objetivos do curso
!on*e#e( o PHP !on*e#e( a linguagem SQL !on*e#e( as +un,es e #one"o e inte(ao #om ban#o e a os Mysql- utilizan o a linguagem PHP &"e(#ita( o uso SQL as +un,es PHP e linguagem
O que SQL/MySql
SQL um 'a (o e linguagem a se( utiliza o 'o( sistemas e ban#o e a os- 'a(a ge(en#iamento e a(mazenamento e a os. MySQL um se(vi o( e ban#o e a os SQL multi/ usu0(io e 'e(mite m1lti'los a#essos simult2neos. MySQL uma im'lementao #liente/se(vi o(. Mani'ula um simult2neos3 4(abal*a #om et#.3 n1me(o ilimita o e usu0(ios
Su'o(te #om'leto a o'e(a o(es e +un,es nas #l0usulas S&L&!4 e 6H&;&3 Su'o(te ?s #l0usulas @;OUP $> e O;%&; $> e a +un,es e g(u'o A!OU94AB- A<@AB- S4%ABSUMAB- MA=AB e M89ABB3
V Seminrio de Desenvolvimento em Software Livre
e memG(ia
ist!rico do MySql
DHIH5 Uni(eg5 Monty 6i elious #(iou o Uni(egum ban#o e a os no/SQL 'a(a g(an es tabelas DHHJ5 Monty ini#iou o esenvolvimento e um S@$% basea o no Uni(eg3 AP8 basea o no mSQL- um ge(en#ia o o'en sou(#e Ano e(a muito bom 'a(a g(an es tabelasB DHHE5 Mysql K.DD.D lana o em bin0(io 'a(a Linu" e Sola(is LMMN5 Mysql N.M.J
894AMB5 n1me(os intei(os ent(e /LDJIJOKEJO e LDJIJOKEJI :LOA4 PAM-%BQ5 n1me(os e#imais #om % #asas e#imais %A4&5 a(mazena in+o(mao (elativa a +o(mato e+ault R>>>>/MM/%%R
V Seminrio de Desenvolvimento em Software Livre
atas. O
%s#eci&ic$'(o de colun$s
P(ima(y Sey A!*ave P(im0(iaB5 usa a 'a(a i+e(en#ia( um (egist(o o out(o. !a a (egist(o- esta +o(ma- no 'o e te( a mesma #*ave '(im0(ia :o(eign Sey A!*ave &st(angei(aB5 usa a 'a(a (ela#iona( uma #oluna e uma tabela #om a #oluna e out(a tabela AutoTin#(ement5 uma #oluna #om esta o'o automati#amente in#(ementa a quan o a inse(o e um (egist(o 9O4 9ULL5 no 'e(mite a inse(o nulos e valo(es
Siste)$ de *rivil+ios
A tabela *ost ete(mina quais os *osts que esto *abilita os a a#essa( o se(vi o( MySQL A tabela use( ete(mina os usu0(ios que 'o em a#essa( o se(vi o( e suas sen*as e i enti+i#ao a 'a(ti( e um *ost A tabela b #ontm as in+o(ma,es (elativas a qual ban#o e a os um usu0(io e um #e(to *ost 'o e a#essa(
O ,)biente MySQL
Pa(a a#essa( o ambiente mysql Umysql V* *ost Vu use(name V' atabasename Pa(a #(ia( um ban#o mysqlW #(eate e a os
atabase 9ome%o$an#o3
-nici$ndo...
<isualiza( to os os ban#os mysqlW s*o7 atabases3 o ban#o atual e a os
e uma tabela
-nserindo v$lores
89S&;4 894O em'(esas A nomeB <ALU&S ARSolisRB-ARUnisinosRB-ARUnivatesRB-AR@ove(no :&%&;ALRB3// 89S&;4 894O 'essoas Anome- em'(esa- sala(ioB <ALU&S AR9asai( SilvaR-D-DMMB-ARCoi#eR-D-LMMBAR%anielR-D-KMMB-ARLeona( oR-L-JMMBARAn (aR-RLR-NMMB-AR!esa(R-K-EMMBAR<ivianeR-K-IMMB-AR;obe(to Ce++e(sonR-J-KMMMBARLuis 8n0#ioR-J-NMMMB3// 89S&;4 894O 'essoasAnome- em'(esa- sala(ioB <ALU&S AR:(e e(i#oR-DM-DMMMB3
V Seminrio de Desenvolvimento em Software Livre
mysqlWalte( table 'essoas mo i+y tele+one va(#*a(ADNB3 mysqlWalte( table 'essoas #*ange tele+one +one va(#*a(ADNB3
V Seminrio de Desenvolvimento em Software Livre
Cri$ndo usu1rios
mysqlW inse(t into mysql.use( AHost- Use(Pass7o( B values ARlo#al*ostR- RalunoR- 'ass7o( ARtesteDLKRBB3 mysqlW +lus* '(ivileges3 mysqlW g(ant all '(ivileges on #u(so.Z to aluno\lo#al*ost i enti+ie by RtesteDLKR3 mysqlW (evoXe %&L&4& on #u(so.Z :;OM aluno\lo#al*ost3
AL4&;- !;&A4&- %&L&4&- %;OP- S&L&!489S&;4- UP%A4&V Seminrio de Desenvolvimento em Software Livre
O que * *
o+i#ialmente ]PHP5 Hy'e(te"t P(e'(o#esso(] PHP uma linguagem e s#(i't no la o o se(vi o( Ase(ve(/si eB embuti a no H4ML- 'o(tanto ne#ess0(io instala( o inte('(eta o( a linguagem no se(vi o( e 6eb. Po e se( utiliza a #omo s#(i't lo#al &"tenso '*'/gtX 'a(a '(og(amao lo#al Site5 *tt'5//b(.'*'.net
V Seminrio de Desenvolvimento em Software Livre
!oleta
a os e ge(a +o(mul0(ios
in2mi#os
!onve(sa e +o(ma nativa #om uma am'la va(ie a e e $an#os e %a os 4em a#esso a '(oto#olos #omo 8MAP- S9MP994P- POPK- H44P... Po e se( utiliza o em '(og(amao lo#al
V Seminrio de Desenvolvimento em Software Livre
ist!rico do * *
!(ia a em DHHJ 'o( ;asmus Le( o(+ &m DHHN a '(imei(a ve(so utiliza a 'o( out(as 'essoas #*ama a Pe(sonal Home Page 4ools Ain a em DHHN o inte('(eta o( (ees#(ito e #*ama o PHP/:8- esta a ve(so L. &m DHHI- #om um time su(ge a ve(so K. e esenvolve o(es
&m segui a a ve(so J- muito mais (ebusta. <e(so N- #om v0(ias alte(a,es e mel*o(ias
*ri)eiros *$ssos
4ags que i enti+i#am o PHP [^'*' #o igo3 ^W [^ #o igo3 ^W [s#(i't languageY_'*'_W #o igo3 [/s#(i'tW
V Seminrio de Desenvolvimento em Software Livre
4eri&ic$ndo $ inst$l$'(o
[^'*' '*'in+oAB3 ^W
Ol10 Mundo
e#*o- '(int5 &#(eve um out'ut na tela e#*oAROl0 Mun o`RB3 // 5 !oment0(io e uma lin*a // 8sto um #oment0(io /Z Z/ 5 $lo#o /Z 8sto um blo#o e #oment0(io Z/ e #oment0(io
%/e)#lo 5 e/e)#lo6.#7#
[H4MLW[H&A%W [484L&WS#(i't e e"em'lo[/484L&W [/H&A%W [$O%>W [!&94&;W$em/vin o ao s#(i't e e"em'lo5[/!&94&;W [^ a*oje Y ateA] /m/>]B3 e#*o ][$;W[$;WHoje 5 a*oje.]3 ^W [/$O%>W [/H4MLW
V Seminrio de Desenvolvimento em Software Livre
4$ri1veis
Os ti'os e va(i0veis mais usa os so5 RaR- RbR- RbR M- D- L DN.N e#la(ao
!a(a#te(e5 8ntei(o5
St(ing5 ]PHP c legal`] ;eal/:lutuante5 9o ne#ess0(io 8ni#iam S&MP;& #om o #a(a#te( a O nome 'o e #omea( 'o( qualque( let(a ou T
O#er$dores
F / Z / . Y A io Subt(ao Multi'li#ao %iviso !on#atenao At(ibuio sim'les
O#er$dores(2)
/Y At(ibuio #om subt(ao
YY 8gual a Y` %i+e(ente e
O#er$dores(3)
YYY `YY [ W [Y WY FF // 8gual e mesmo ti'o !onte1 o e ti'o Meno( que Maio( que Meno( ou igual a Maio( ou igual 8n#(emento %e#(emento
V Seminrio de Desenvolvimento em Software Livre
i+e(ente
,rr$ys ou M$tri2es
'o em se( vistos #omo5 uma +o(ma e lista in e"a a Aa((ay uni imensionalB'o em #onte( qualque( ti'o intei(o- e#imal- st(ingB 8ni#ializao a'(o utoPMQY]$atatas]3 ou a'(o utoYa((ayA]$atatas]B3
V Seminrio de Desenvolvimento em Software Livre
e va(i0veis
4$ri1veis es#eci$is
aT@&45 valo(es (e#ebi os 'ela U;L ou 'o( +o(mul0(io- #om mto o @&4 aTPOS45 valo(es (e#ebi os via +o(mul0(io- via mto o POS4 aT;&QU&S45 #ombinao aT;&QU&S4 aTS&;<&;5 #ontm valo(es se(vi o( o aT@&4 e e #on+igu(ao o
%/e)#lo 5 e/e)#lo2.#7#
Utiliza( a seguinte u(l5 /e"em'loL.'*'^nomeY9asai(ei a eYDO [^'*' e#*o f9ome 8n+o(ma o5 f.aT@&4PRnomeRQ3 e#*o f[b( /W8 a e5 f.aT@&4PRi a eRQ3 ^W
"r$ns&or)$'(o de ti#os
aa Y DM3 ab Y A oubleB aa3 AintB- Aintege(B Ast(ingB Aa((ayB Aobje#tB U aa um intei(o U ab um ouble
!onve(te 'a(a intei(o ouble !onve(te 'a(a st(ing !onve(te 'a(a a((ay !onve(te 'a(a objeto
Condicion$is
se ]ten*o in*ei(o] i+Aa in*ei(o W MB e#*o f<ou ao #inema_3 i+Aa#*uvaB e#*o f:i#o em #asa_3 else e#*o f<ou ? '(aia_3
%/erc8cio
!(ia( um a(quivo que (e#eba a va(i0vel i a e 'ela u(l e im'(ima5 se a i a e +o( maio( ou igual a LD5 fMaio( e i a e g #ivil_ se a i a e +o( maio( ou igual a DO5 fMaio( e i a e g 'enal_ se a i a e +o( meno( que DO5 fMeno( e i a e_
V Seminrio de Desenvolvimento em Software Livre
L$'os de re#eti'(o
&nquantoAf9o tive( EM 7*ileAai a e [ EMB anos_B t(abal*aTPeaoAB3 f9o 'a(o e t(abal*a(_ 6*ileALe a os4abelaABB &nquan oAfH0 a os e#*o a a os3 na tabela_B f&"iba estes a os_ :o(AaiYD3 ai[YKM3aiFFB e#*o a a os3 !ome#e na '(imei(a 'essoa e 'a(e na KMasem'(e &"ibin o os a os e #a a uma
Condicion$is(2)
!aso Mhs :o( D ento fCanei(o_3 s7it*AamesB i #ase RDR5 e#*o fCanei(o_3 b(eaX3 #ase RLR5 e#*o f:eve(ei(o_3 b(eaX3 j !aso Mhs +o( L ento f:eve(ei(o_3 ...
9un':es
c um blo#o e #G igo que se e#la(a 'a(a que 'ossa usa(/se sem'(e que +o( ne#ess0(io Po em (eto(na( valo(es at(avs ;&4U;9 o #oman o
9un':es(2)
:un#tion mes&"tensoAamesB i s7it#*AamesB i #ase RDR5 (etu(n fCanei(o_3 #ase RLR5 (etu(n f:eve(ei(o_3 j j
9or)ul1rios
Quan o +eito um submit e um +o(mul0(io 'a(a um s#(i't PHP- o PHP #a'az e enten e( o que l*e envia o- e t(ans+o(ma( um +o(mul0(io num #onjunto e va(i0veis #om a in+o(mao envia a
[+o(m a#tionY]ve(i+i#a.'*']W %igite o seu nome5 [in'ut ty'eYte"t nameYnome /W[b( /W %igite o seu tele+one5 [in'ut ty'eYte"t nameY+one /W[b( /W %igite o sua ata nas#.5 [in'ut ty'eYte"t nameY ata /W[b( /W [in'ut ty'eYsubmit /W [/+o(mW
V Seminrio de Desenvolvimento em Software Livre
9or)ul1rios(2)
[^'*' e#*o fOs a os que vo#h igitou so5_3 e#*o f[b( /W9ome5 f.aT@&4PRnomeRQ3 e#*o f[b( /W4ele+one5 f.aT@&4PR+oneRQ3 e#*o f[b( /W%ata5 f.aT@&4PR ataRQ3 e#*o f[b( /WSua i a e 5 f.i a eAaT@&4PR ataRQB._ anos_3 +un#tion i a eAa ataB i ai a e Y ateAR>RB g subst(Aa ata-/JB3 (etu(n ai a e3 j ^W
V Seminrio de Desenvolvimento em Software Livre
9or)ul1rios(3)
te"t / O(igina uma va(i0vel #om o nome a #ai"a. &ssa va(i0vel uma st(ing e #ont)m a in+o(mao igita a na #ai"a. #*e#Xbo" / O(igina uma va(i0vel #om o nome a #*e#Xbo". &sta va(i0vel #ontm valo( se estive( ativa ou no #ontm se inativa. (a io / O(igina uma va(i0vel #om o nome o (a io. &sta va(i0vel #ontm o valo( o (a io sele#iona o. sele#t / O(igina uma va(i0vel #om o nome o sele#t. !ontm o valo( o OP48O9 sele#iona o. te"ta(ea / O(igina uma va(i0vel #om o nome a te"ta(ea. !ontm o valo( int(o uzi o na mesma.
V Seminrio de Desenvolvimento em Software Livre
9or)ul1rios(4)
Cone/:es ; e/e)#lo3.#7#
[^'*' a#on Y mysqlT#onne#t Aflo#al*ost_-_(oot_-_(oot_B o( ieAf9o +oi 'oss)vel +aze( a #one"o_B3 mysqlTsele#tT bAf#u(so_-a#onB o( ieAf9o +oi 'oss)vel sele#iona( o ban#o_B3 aq Y mysqlTque(yAfS&L&!4 nome :;OM 'essoas_-a#onB3 e#*o mysqlT(esultAaq-M-MB3 mysqlT#loseAa#onB3 ^W
V Seminrio de Desenvolvimento em Software Livre
Cone/:es5e/e)#lo4.#7#
[^'*' a#on Y mysqlT#onne#tAflo#al*ost_-_(oot_-_(oot_B o( ieAf9o +oi 'oss)vel +aze( a #one"o_B3 mysqlTsele#tT bAf#u(so_-a#onB o( ieAf9o +oi 'oss)vel sele#iona( o ban#o_B3 aq Y mysqlTque(yAfS&L&!4 nome- em'(esa :;OM 'essoas_-a#onB3 anum Y mysqlTnumT(o7sAaqB3 +o(AaiYM3ai[anum3aiFFB i listAanome-aem'(esaB Y mysqlT+et#*T(o7AaqB3 e#*o f[b( /W9ome5 anome Aaem'(esaB_3 j mysqlT#loseAa#onB3 ^W
V Seminrio de Desenvolvimento em Software Livre
Cone/:es5e/e)#lo<.#7#
[^'*' a#on Y mysqlT#onne#tAflo#al*ost_-_(oot_-_(oot_B3 mysqlTsele#tT bAf#u(so_-a#onB3 aq Y mysqlTque(yAfS&L&!4 #o igo- nome :;OM em'(esas_-a#onB3 anum Y mysqlTnumT(o7sAaqB3 e#*o f[sele#t nameYem'(esaW_3 +o(AaiYM3ai[anum3aiFFB i listAa#o igo-anomeB Y mysqlT+et#*T(o7AaqB3 e#*o f[o'tion valueYa#o igoWanome[/o'tionW_3 j e#*o f[/sele#tW_3 mysqlT#loseAa#onB3 ^W
V Seminrio de Desenvolvimento em Software Livre
Cuid$dos e se+ur$n'$
Sem'(e ft(ata(_ os +o(mul0(io a os (e#ebi os via
Ao utiliza( sen*a- manth/la #(i'tog(a+a a As*aD ou m NB Utiliza( 'e(miss,es o ban#o 'e(miss,es fa i#ionais_ SQL8nje#tion H44PS g Se(vi o( Segu(o g SSL Usa( sen*a no ban#o e a os e a os5 nun#a te(
%/erc8cios
A#(es#enta( no '(imei(o +o(mul0(io um #am'o que (e#ebe o sal0(io e um #am'o e seleo 'a(a sele#iona( a em'(esa a 'essoa :aze( #om que esse +o(mul0(io insi(a os tabela 'essoas a os na
:aze( uma tela e listagem as 'essoas- e"ibin o o nome- em'(esa e i a e- alm e te( um linX 'a(a e ita( e out(o 'a(a a'aga( O( ena( esta listagem 'elo nome a 'essoa !(ia( um +ilt(o nesta listagem A'ela em'(esaB
V Seminrio de Desenvolvimento em Software Livre
Obri+$do====
>$s$ir ?nior d$ Silv$ nasai(\solis.#oo'.b(