SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
acesso remoto a bases de dados
O MySQL
 Modelo cliente-servidor da solução usbwebserver
                                                                                              O browser cliente pede o ficheiro index.php ao servidor com
                                                                                              endereço IP 127.0.0.1

                       hp                                                                     No servidor, o serviço Apache está à escuta no porto 80.
                    x.p
                  e
               ind .0.1)                                                                      Quando recebe um pedido vai procurar o ficheiro ao directório
             de .0                                                                            definido (root no caso do usbwebserver, ou htdocs noutros)
         ttp 127
       h r                                p L)           http://127.0.0.1/index.php
   ido rvido                       sta ph
  d e                            po dex. HTM
pe (s                          s
                           re a in igo                                                        O Apache observa o código recebido. Se tiver tags <? ?>
                                     d
                            gin có                                                            envia-o ao interpretador PHP para ele o processar (caso o
                        ( pá s c/
                             a
                      ap
                          en                                                                  ficheiro não contenha qualquer tag de php, devolve de
                                                                                              imediato o ficheiro ao cliente tal como está guardado)

                                                                                              O interpretador recebe o código PHP e processa-o. Se o
                                                                                              código tiver pedidos de ligação a um servidor de Base de
                                                                                  127.0.0.1
                                                                     SQL
                                      html                                                    dados (local ou remoto) - MySQL neste caso - ele próprio
                                                                   resposta
                                                                                              estabelece ligação com o mesmo, envia-lhe uma query de
                                                 interpretador
                                                                                              SQL e recebe a resposta
                  código             <? php ?>
                                                                                              Depois de processado todo o código php, o interpretador
               Pasta root                                                                     devolve ao Apache o resultado da sua tarefa (aqui já só lhe
               do Apache                                                                      devolve código HTML, resultado do seu trabalho)
                (htdocs)

                index.php                                                                     O Apache recebe o código HTML do interpretador e envia-o
                    ...                               127.0.0.1                               para o browser do cliente

                                                                                              Uma vez que os browsers entendem código HTML, recebem-
                                                                                              no e constroem a página com o resultado final pedido.
O MySQL
Ligação ao servidor através do PHP | código SQL
   SET NAMES latin1;                                                      INSERT INTO `CDs` VALUES
   SET FOREIGN_KEY_CHECKS = 0;                                            ('1','Bloodshot','10','5','3','Popular','Rock','2009-04-06 11:42:29'),
                                                                           ('2','The Most Favorite Opera Duets','10','5','3','Classical','Opera','2009-04-06
   DROP TABLE IF EXISTS `CDs`;                                            11:42:29'),
                                                                           ('3','New Orleans Jazz','17','4','1','Popular','Jazz','2009-04-06 11:42:29'),
   CREATE TABLE `CDs` (                                                    ('4','Music for Ballet Class','9','4','2','Classical','Dance','2009-04-06 11:42:29'),
     `idCd` smallint(6) NOT NULL auto_increment,                           ('5','Music for Solo Violin','24','2','5','Classical','General','2009-04-06 11:42:29'),
     `nomeCd` varchar(50) NOT NULL,                                        ('6','Cie li di Toscana','16','6','8','Classical','Vocal','2009-04-06 11:42:29'),
     `emStock` smallint(5) unsigned NOT NULL,                              ('7','Mississippi Blues','2','25','6','Popular','Blues','2009-04-06 11:42:29'),
     `emEncomenda` smallint(5) unsigned NOT NULL,                          ('8','Pure','32','3','10','Popular','Jazz','2009-04-06 11:42:29'),
     `emReserva` smallint(5) unsigned NOT NULL,                            ('9','Mud on the Tires','12','15','13','Popular','Country','2009-04-06 11:42:29'),
     `Genero` enum('Classical','Popular') NOT NULL,                        ('10','The Essence','5','20','10','Popular','New Age','2009-04-06 11:42:29'),
     `Categoria` varchar(20) NOT NULL,                                     ('11','Embrace','24','11','14','Popular','New Age','2009-04-06 11:42:29'),
     `RowUpdate` timestamp NOT NULL default CURRENT_TIMESTAMP on update    ('12','The Magic of Satie','42','17','17','Classical','General','2009-04-06
   CURRENT_TIMESTAMP,                                                     11:42:29'),
     PRIMARY KEY (`idCd`,`emEncomenda`)                                    ('13','Swan Lake','25','44','28','Classical','Dance','2009-04-06 11:42:29'),
   ) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;               ('14','25 Classical Favorites','32','15','12','Classical','General','2009-04-06
                                                                          11:42:29'),
                                                                           ('15','La Boheme','20','10','5','Classical','Opera','2009-04-06 11:42:29'),
                                                                           ('16','Bach Cantatas','23','12','8','Classical','General','2009-04-06 11:42:29'),
                                                                           ('17','Golden Road','23','10','17','Popular','Country','2009-04-06 11:42:29'),
                                                                           ('18','Live in Paris','18','20','10','Popular','Jazz','2009-04-06 11:42:29'),
                                                                           ('19','Richland Woman Blues','22','5','7','Popular','Blues','2009-04-06 11:42:29'),
                                                                           ('20','Morimur (after J. S. Bach)','28','17','16','Classical','General','2009-04-06
                                                                          11:42:29'),
                                                                           ('21','The Best of Italian Opera','10','35','12','Classical','Opera','2009-04-06
                                                                          11:42:29'),
                                                                           ('22','Runaway Soul','15','30','14','Popular','Blues','2009-04-06 11:42:29'),
                                                                           ('23','Stages','42','0','8','Popular','Blues','2009-04-06 11:42:29'),
                                                                           ('24','Bach: Six Unaccompanied Cello
                                                                          Suites','16','8','8','Classical','General','2009-04-06 11:42:29');
O MySQL
Ligação ao servidor através do PHP | as funções


     •   mysql_connect ( endereço do servidor, utilizador, password ) -> Estabelece ligação
         com servidor de base de dados

     •   mysql_select_db ( nome da base de dados, variável de ligação ) -> Abre base de dados

     •   mysql_query ( query de sql ) -> Envia uma query à base de dados (INSERT, UPDATE,
         DELETE OU SELECT).

     •   mysql_fetch_array ( variável de resultado da query ) -> Devolve array com campos de
         uma linha e avança ponteiro para linha (registo) seguinte.

     •   mysql_num_rows ( variável de resultado da query ) -> Devolve o número de registos da
         consulta (query)

     •   mysql_close ( variável de ligação ) -> Encerra a ligação com o servidor.
O MySQL
Ligação ao servidor através do PHP | exemplo funcional
/////////////////////////////// configuração de acesso ao servidor de base de dados /////////////////////////////////////////
$servidor="localhost"; $utilizador="root"; $passwd="esap"; $baseDados = "Aula1";
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

$ligacao = mysql_connect ( $servidor, $utilizador, $passwd ) or die ( 'Erro ao ligar ao servidor... ' . mysql_error() );
mysql_select_db ( $baseDados, $ligacao ) or die ( 'Erro ao executar mysql_select_db: ' . mysql_error () );

$query_sql = " SELECT * FROM CDs WHERE Categoria='Blues' ";
$resultado = mysql_query ( $query_sql ) or die ( 'Erro ao executar mysql_query: ' . mysql_error () );
echo ("<h1> Primeira ligação à BD {$baseDados} </h1>");
echo ("<h3> Vou fazer a seguinte query: {$query_sql} </h3>");

$contador = 1;

while ( $linhaTabela = mysql_fetch_array ( $resultado ) )
{
	     echo ("{ $contador } > {$linhaTabela ['nomeCd']} - {$linhaTabela ['Categoria']} <br />");
	     $contador++;
}

echo ("<h4> Número de registos encontrados na tabela: " . mysql_num_rows ( $resultado ) . "</h4>");
mysql_close ( $ligacao );
O MySQL
Ligação ao servidor através do PHP | exemplo prático




          http://aulasftp.netai.net/mysql/act1/

Mais conteúdo relacionado

Destaque (9)

funcionamento da internet
funcionamento da internetfuncionamento da internet
funcionamento da internet
 
PHP e Mysql - SELECT
PHP e Mysql - SELECTPHP e Mysql - SELECT
PHP e Mysql - SELECT
 
PHP e Mysql - DELETE
PHP e Mysql - DELETEPHP e Mysql - DELETE
PHP e Mysql - DELETE
 
Linguagem PHP para principiantes
Linguagem PHP para principiantesLinguagem PHP para principiantes
Linguagem PHP para principiantes
 
Dicas para criação rápida de projectos WEB
Dicas para criação rápida de projectos WEBDicas para criação rápida de projectos WEB
Dicas para criação rápida de projectos WEB
 
PHP e Mysql - UPDATE
PHP e Mysql - UPDATEPHP e Mysql - UPDATE
PHP e Mysql - UPDATE
 
PHP e Mysql - INSERT
PHP e Mysql - INSERTPHP e Mysql - INSERT
PHP e Mysql - INSERT
 
PHP e Mysql - INSERT
PHP e Mysql - INSERTPHP e Mysql - INSERT
PHP e Mysql - INSERT
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 

Semelhante a PHP - Queries a um SGBD MySQL

PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
Marco Pinheiro
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
PrinceGuru MS
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Adriano Tavares
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
Francisco Gonçalves
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
RubenManhia
 

Semelhante a PHP - Queries a um SGBD MySQL (20)

PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Python CGI
Python CGIPython CGI
Python CGI
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache Camel
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
 
Php
PhpPhp
Php
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
dnad12
dnad12dnad12
dnad12
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - Introdução
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
O bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.jsO bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.js
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 

Mais de Marco Pinheiro (7)

SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, Greensock
 
curso de CSS
curso de CSScurso de CSS
curso de CSS
 
Curso de XHTML
Curso de XHTMLCurso de XHTML
Curso de XHTML
 
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
Projecto de tese | Doutoramento em Ciências da Comunicação (UBI 2011)
 
Conceitos de Imagem digital
Conceitos de Imagem digitalConceitos de Imagem digital
Conceitos de Imagem digital
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
IPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortaisIPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortais
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 

Último (20)

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 

PHP - Queries a um SGBD MySQL

  • 1. acesso remoto a bases de dados
  • 2. O MySQL Modelo cliente-servidor da solução usbwebserver O browser cliente pede o ficheiro index.php ao servidor com endereço IP 127.0.0.1 hp No servidor, o serviço Apache está à escuta no porto 80. x.p e ind .0.1) Quando recebe um pedido vai procurar o ficheiro ao directório de .0 definido (root no caso do usbwebserver, ou htdocs noutros) ttp 127 h r p L) http://127.0.0.1/index.php ido rvido sta ph d e po dex. HTM pe (s s re a in igo O Apache observa o código recebido. Se tiver tags <? ?> d gin có envia-o ao interpretador PHP para ele o processar (caso o ( pá s c/ a ap en ficheiro não contenha qualquer tag de php, devolve de imediato o ficheiro ao cliente tal como está guardado) O interpretador recebe o código PHP e processa-o. Se o código tiver pedidos de ligação a um servidor de Base de 127.0.0.1 SQL html dados (local ou remoto) - MySQL neste caso - ele próprio resposta estabelece ligação com o mesmo, envia-lhe uma query de interpretador SQL e recebe a resposta código <? php ?> Depois de processado todo o código php, o interpretador Pasta root devolve ao Apache o resultado da sua tarefa (aqui já só lhe do Apache devolve código HTML, resultado do seu trabalho) (htdocs) index.php O Apache recebe o código HTML do interpretador e envia-o ... 127.0.0.1 para o browser do cliente Uma vez que os browsers entendem código HTML, recebem- no e constroem a página com o resultado final pedido.
  • 3. O MySQL Ligação ao servidor através do PHP | código SQL SET NAMES latin1; INSERT INTO `CDs` VALUES SET FOREIGN_KEY_CHECKS = 0; ('1','Bloodshot','10','5','3','Popular','Rock','2009-04-06 11:42:29'), ('2','The Most Favorite Opera Duets','10','5','3','Classical','Opera','2009-04-06 DROP TABLE IF EXISTS `CDs`; 11:42:29'), ('3','New Orleans Jazz','17','4','1','Popular','Jazz','2009-04-06 11:42:29'), CREATE TABLE `CDs` ( ('4','Music for Ballet Class','9','4','2','Classical','Dance','2009-04-06 11:42:29'), `idCd` smallint(6) NOT NULL auto_increment, ('5','Music for Solo Violin','24','2','5','Classical','General','2009-04-06 11:42:29'), `nomeCd` varchar(50) NOT NULL, ('6','Cie li di Toscana','16','6','8','Classical','Vocal','2009-04-06 11:42:29'), `emStock` smallint(5) unsigned NOT NULL, ('7','Mississippi Blues','2','25','6','Popular','Blues','2009-04-06 11:42:29'), `emEncomenda` smallint(5) unsigned NOT NULL, ('8','Pure','32','3','10','Popular','Jazz','2009-04-06 11:42:29'), `emReserva` smallint(5) unsigned NOT NULL, ('9','Mud on the Tires','12','15','13','Popular','Country','2009-04-06 11:42:29'), `Genero` enum('Classical','Popular') NOT NULL, ('10','The Essence','5','20','10','Popular','New Age','2009-04-06 11:42:29'), `Categoria` varchar(20) NOT NULL, ('11','Embrace','24','11','14','Popular','New Age','2009-04-06 11:42:29'), `RowUpdate` timestamp NOT NULL default CURRENT_TIMESTAMP on update ('12','The Magic of Satie','42','17','17','Classical','General','2009-04-06 CURRENT_TIMESTAMP, 11:42:29'), PRIMARY KEY (`idCd`,`emEncomenda`) ('13','Swan Lake','25','44','28','Classical','Dance','2009-04-06 11:42:29'), ) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=latin1; ('14','25 Classical Favorites','32','15','12','Classical','General','2009-04-06 11:42:29'), ('15','La Boheme','20','10','5','Classical','Opera','2009-04-06 11:42:29'), ('16','Bach Cantatas','23','12','8','Classical','General','2009-04-06 11:42:29'), ('17','Golden Road','23','10','17','Popular','Country','2009-04-06 11:42:29'), ('18','Live in Paris','18','20','10','Popular','Jazz','2009-04-06 11:42:29'), ('19','Richland Woman Blues','22','5','7','Popular','Blues','2009-04-06 11:42:29'), ('20','Morimur (after J. S. Bach)','28','17','16','Classical','General','2009-04-06 11:42:29'), ('21','The Best of Italian Opera','10','35','12','Classical','Opera','2009-04-06 11:42:29'), ('22','Runaway Soul','15','30','14','Popular','Blues','2009-04-06 11:42:29'), ('23','Stages','42','0','8','Popular','Blues','2009-04-06 11:42:29'), ('24','Bach: Six Unaccompanied Cello Suites','16','8','8','Classical','General','2009-04-06 11:42:29');
  • 4. O MySQL Ligação ao servidor através do PHP | as funções • mysql_connect ( endereço do servidor, utilizador, password ) -> Estabelece ligação com servidor de base de dados • mysql_select_db ( nome da base de dados, variável de ligação ) -> Abre base de dados • mysql_query ( query de sql ) -> Envia uma query à base de dados (INSERT, UPDATE, DELETE OU SELECT). • mysql_fetch_array ( variável de resultado da query ) -> Devolve array com campos de uma linha e avança ponteiro para linha (registo) seguinte. • mysql_num_rows ( variável de resultado da query ) -> Devolve o número de registos da consulta (query) • mysql_close ( variável de ligação ) -> Encerra a ligação com o servidor.
  • 5. O MySQL Ligação ao servidor através do PHP | exemplo funcional /////////////////////////////// configuração de acesso ao servidor de base de dados ///////////////////////////////////////// $servidor="localhost"; $utilizador="root"; $passwd="esap"; $baseDados = "Aula1"; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $ligacao = mysql_connect ( $servidor, $utilizador, $passwd ) or die ( 'Erro ao ligar ao servidor... ' . mysql_error() ); mysql_select_db ( $baseDados, $ligacao ) or die ( 'Erro ao executar mysql_select_db: ' . mysql_error () ); $query_sql = " SELECT * FROM CDs WHERE Categoria='Blues' "; $resultado = mysql_query ( $query_sql ) or die ( 'Erro ao executar mysql_query: ' . mysql_error () ); echo ("<h1> Primeira ligação à BD {$baseDados} </h1>"); echo ("<h3> Vou fazer a seguinte query: {$query_sql} </h3>"); $contador = 1; while ( $linhaTabela = mysql_fetch_array ( $resultado ) ) { echo ("{ $contador } > {$linhaTabela ['nomeCd']} - {$linhaTabela ['Categoria']} <br />"); $contador++; } echo ("<h4> Número de registos encontrados na tabela: " . mysql_num_rows ( $resultado ) . "</h4>"); mysql_close ( $ligacao );
  • 6. O MySQL Ligação ao servidor através do PHP | exemplo prático http://aulasftp.netai.net/mysql/act1/