Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 09 de Setembro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
190 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Usando Delphi com PHP para enviar dados para um BD Mysql na Web
Publicado por mariorgrossi : Terça, Julho 21, 2009 - 11:18 GMT-3 (1754 leituras)
Comentários 5 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Olá! Meu nome é Mário e este é o segundo artigo que escrevo para o ActiveDelphi.com.br. Neste, mostrarei como enviar informações para um banco de dados Mysql na Internet, através do PHP, a partir de uma aplicação feita em Delphi, sem se conectar diretamente ao MySQL

1- Deve-se ter um banco de dados na Internet (o meu é gratuito, registrado em www.freetzi.com).

2- Criar uma base de dados com os campos que você deseja cadastrar. No meu caso, criei uma tabela com os campos ID e NOME, onde ID é auto-numérico e o campo NOME é chave primária (apenas para fins didáticos).

3- Criar uma conexão com o banco de dados: eu usei um script em PHP que fica no servidor web. O chamei de conex.php, e seu conteúdo ficou assim:

<?php
  $conex = mysql_connect("servidor", "usuário", "senha") or die ("falha na conexão");
  mysql_select_db("banco de dados", $conex) or die ("erro no banco de dados");
?>

4- Criar um script em PHP que faça a inserção dos dados no banco de dados, que também deve ficar no servidor. No meu caso, criei um arquivo chamado de add.php, que ficou assim:

<?php require_once("conex.php") ?>
<?php

  $nome = $_GET['nome'];
  //repare que estou usando GET ao invés de POST.
  $linha = mysql_query("insert into cadastro (nome) values ('$nome')")
           or die ("'$nome' já cadastrado"); 
  echo("Cadastro realizado com êxito");
?>

5- Agora no Delphi, coloque um componente TidHTTP, um TButton, um TEdit e um TLabel;

No button, escreva:

  Label1.Caption := idHTTP1.get('http://seu_server/add.php?nome='+edit1.text);

Rode a aplicação e veja que, ao clicar no botão, o nome digitado no Edit será inserido na sua base MySQL na web, através do script PHP e o retorno será exibido no Label!

Porém, como fizemos o banco definindo o campo NOME como PK, podem retornar duas mensagens diferentes, que são:

  1. Se o nome enviado já existir no banco de dados, vai retornar no caption do label1: nome+' já cadastrado'
  2. Se o nome enviado não existir no banco de dados, vai retornar no caption do label1: 'Cadastro realizado com êxito.'

E é isso aí! Espero ter ajudado!

Por: Mário (mariorgrossi)
Contato: mariorochagrossi@ig.com.br



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: jeova (jeovadavila@gmail.com) : Jul 24, 2009 - 06:43
(Informações sobre o membro | Enviar uma mensagem) http://www.informaxsistemas.com
Parabéns,
Simples e prático.



por: jucelio_calado (jucelio_calado@hotmail.com) : Out 17, 2009 - 05:44
(Informações sobre o membro | Enviar uma mensagem)
Puts valew mesmo pela dica...
Tava precisando de algo do tipo...
Grande abraço...


por: invdjhack (invdjhack@ig.com.br) : Ago 15, 2011 - 11:36
(Informações sobre o membro | Enviar uma mensagem) http://www.cadsoftwares.com.br

Boa Noite Mario. Primeiramente Parabéns pelo post. Curiosamente tenho um sistema que faz isso, porém, utilizei uma outra técnica que não sei dizer se é mais ou menos eficiente que essa sua apresentada.


Eu tenho o scritp php que faz a inserção no BD nos mesmos moldes da sua. Porém, ao invés de usar um idHTTP eu uso um idFTP para subir um arquivo texto ao servidor... É uma intereação web de um sistema feito por outro desenvolvedor. Ele gera um arquivo predeterminado que eu subo ao servidor e disparo um comando para executar o scritp. Esse scritp le o arquivo e percorree linha-a-linha, inserindo os dados no BD. O aplicativo em delphi também não tem conexão direta ao BD, mas, as vezes, acho que a performance poderia ser melhor..


Gostei da sua idéia e seu conceito me ajudaria pelo fato de não precisar subir o arquivo ao servidor. Irei testar e comparar as opções e performances...posto logo os resultados.....




abraços
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados