Delphi x PHP

Delphi

27/09/2004

Precisamos acessar uma base de dados Mysql, porem nosso provedor somente permite o acesso via PHP. Como podemos fazer isso rodando uma aplicacao Delphi ?
Grato


Fabio Ferreira

Fabio Ferreira

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

27/09/2004

Colega,

Neste caso, você deve mudar de provedor.


GOSTEI 0
Fabio Ferreira

Fabio Ferreira

27/09/2004

Foi o que achamos tambem, inicialmente. Atualmente utilizamos a Digiweb. Porem pesquisando outros, do mesmo nivel de qualidade tambem esbarramos na mesma limitacao. Agora independente da nossa providencia a duvida continua existindo. É possivel fazer essa interface do Delphi com o PHP para acessarmos um banco Mysql no site ? (esse acesso consiste de incluir, alterar, etc...
Grato


GOSTEI 0
Rômulo Barros

Rômulo Barros

27/09/2004

:arrow: [b:32a5b8da77][color=red:32a5b8da77]Bloqueado pelo moderador ´Undeclared Identier´[/color:32a5b8da77][/b:32a5b8da77]
:idea: [b:32a5b8da77][color=red:32a5b8da77]Duplicidade de tópicos[/color:32a5b8da77][/b:32a5b8da77]

Brincadeirinha... ahuaahauahauahauahu
Já respondi algo a respeito, Veja: http://delphiforum.icft.com.br/forum/viewtopic.php?t=47428&sid=dae0450ef035ffc12a272c485832a0e0


GOSTEI 0
Fabio Ferreira

Fabio Ferreira

27/09/2004

Ola
Undeclared Identifier

Nao tem nada de duplicidade e nem vi no topico que voce colocou algo relacionado com a minha pergunta.
Voce entendeu minha pergunta ?


GOSTEI 0
Weber

Weber

27/09/2004

Fabio, na verdade os provedores não liberar o acesso somente via PHP, o que eles querem dizer quando falam isso é que só liberam o acesso via site, nessa caso pode ser php ou outra linguagem qualquer mas nunca de fora do site.
Sendo assim, mesmo que você faça uma rotina em php não vai conseguir acessar o banco de dados sem que a rotina não esteja no site.

Para resolver esse problema você tem que entrar em contato com o provedor e pedir a liberação para poder acessar de fora do site. A grande maioria deles não gosta de fazer esse tipo de liberação e muitos nem mesmo liberam.
O mais coerente a fazer é trocar de provedor mesmo.


GOSTEI 0
Maicongabriel

Maicongabriel

27/09/2004

[quote:c153a25973=´Fabio Ferreira´]Foi o que achamos tambem, inicialmente. Atualmente utilizamos a Digiweb. Porem pesquisando outros, do mesmo nivel de qualidade tambem esbarramos na mesma limitacao. Agora independente da nossa providencia a duvida continua existindo. É possivel fazer essa interface do Delphi com o PHP para acessarmos um banco Mysql no site ? (esse acesso consiste de incluir, alterar, etc...
Grato[/quote:c153a25973] Teoricamente não, visto que com PHP o acesso aos dados se daria ´pelo lado do servidor´, que processaria a pagina e executaria os devidos ´comandos´ de acesso, inclusão, alteração, etc. :roll:
Já com Delphi, você estaria do ´lado de fora da rede do servidor´, não atuando internamente; E ai creio eu que esteja um dos motivos do não oferecimento do acesso externo, bem com o motivo da segurança é claro! :wink:
Ao que parece, o ´Undeclared ...´, lhe deu a dica de fazer isto via parametros em um PHP, ou seja, você teria um script php que receberia os paramentros indicativos de (inclusão, exclusão, alteração) e tambem os parametros de dados a serem manipulados;
E a partir disto, tomaria as devidas ações e executaria-as sobre a base(do lado do servidor, uma vez que se daria pelos scripts, que lá são processados).
Funciona? Sim! mas não é muito funcional para um sistema e você esbarraria em varias limitações. :wink:


GOSTEI 0
Rômulo Barros

Rômulo Barros

27/09/2004

Utilize o componente IDHTTP que está na paleta de componentes ´Indy Clients´. Vc poderá deixar um ´Scrip Php´ montado esperando apenas um parâmetro. Exemplo:

<?php
   $Conexao      = mysql_connect("localhost","root","root") ;
   $Database     = mysql_select_db("exemplo") ;
   $Consulta     = "SELECT * FROM PRODUTOS WHERE CODIGO_PROD = ´$Codigo´";
   $Buffer       = mysql_query($Consulta,$Conexao);
   $RecordCount  = mysql_num_rows($Buffer);
   $Linhas       = mysql_fetch_array($Buffer);
   If($RecordCount > 0){
      echo "Sucesso";
   }
   Else {
      echo "Registro não encontrado";
   }
?>

Para passar o parâmetro do Delphi para o site, faça:

...
Var
  Conteudo : String;
Conteudo := iDHTTP.Get(´http://www.site.com.br/pasta/Script.php?
CODIGO_PROD=1´);
If(Conteudo = ´sucesso´)Then
  showmessage(´Sucesso´);
Else
  If Conteudo = ´Registro não encontrado´)Then
  showmessage(´Não encontrado´);



GOSTEI 0
Fabio Ferreira

Fabio Ferreira

27/09/2004

Muito obrigado a todos pelas respostas. Pelo que entendi, estou procurando outro provedor. Somente a titulo de curiosidade e informacao, atualmente utilizamos como servidor para a base de dados que ja utilizamos o www.freesql.org, que tem suas instabilidades, como ficar fora do ar 4 dias, etc. Por ser free.....
Um abraco a todos.


GOSTEI 0
Rômulo Barros

Rômulo Barros

27/09/2004

Será q resolve agora?
Segue:
http://www.miarroba.com


GOSTEI 0
Zoom

Zoom

27/09/2004

[quote:0159fadb37=´Fabio Ferreira´]Ola
Undeclared Identifier

Nao tem nada de duplicidade [/quote:0159fadb37]

Mesmo se tivesse duplicidade... ele não é moderador também. Pode até se achar assim, mas não é.


GOSTEI 0
POSTAR