Clipper On Line • Ver Tópico - Usando tabelas dBase com PHP

Usando tabelas dBase com PHP

Discussão sobre outras linguagens de programação.

Moderador: Moderadores

 

Usando tabelas dBase com PHP

Mensagempor rochinha » 26 Mar 2012 23:15

Amiguinhos,

Eu posso até parecer meio chato e insistente, mas quando alguma coisa me intriga gosto de verificar na prática para ver o resultado.

Pelo título muitos já pensaram, "Hi, lá vem alguém falando do uso de SQL..."

Não. Na verdade só vou exemplificar com conteúdo os testes que fiz para ter certeza se posso ou não usar o PHP para fazer algumas coisas básicas com tabelas dBase.

Mais uma vez alguém dirá, "Hi, outro cara que insiste em usar dBase..."

Sou mesmo, insistente.

Em primeiro lugar quero dizer que fiz os testes usando o servidor MiniServX, tão bom quando ao Apache e executa com perfeição o PHP.

O PHP tinha em sua configuração ativo o módulo de controle de tabelas dBase, php_dbase.dll.

Bom vamos aos código, que falam por si só.

***************************************************************************************************************************************************
1-Criando um banco de dados

int dbase_create (string filename, array fields)

A função dbase_create() cria um bando de dados do dbase a partir
de um vetor que possui a estrutura do banco, e seu nome é especificado
por filename. A função retorna um identificador de arquivo dbase, ou seja,
um dbase_identifier em caso de sucesso, ou FALSE caso falhar.

Exemplo:
<?php
dbase_create('clientes.dbf', $estruct);
? >


Será criado um banco de dados chamado clientes.dbf baseado na estrutura definida por $estruct.

Antes de usar a função dbase_create você deve definir a estrutura do banco.Essa estrutura é um vetor contendo sub-vetores, onde cada sub-vetor contém a definição dos atributos de um campo do banco de dados.

Exemplo:
<?php
$estruct = array("idade", "N", 3, 0);
?>


A primeira posição do vetor especifica o nome do campo, a segunda especifica o tipo de dados do campo, a terceira especifica o tamanho do campo, e por fim a quarta posição especifica o número de casas decimais.

Os tipos de campos disponíveis são:
L - Boolean
M - Memorando
D - Data
N - Número
C - Caracteres ( string )

Segue abaixo um exemplo de sua utilização:
<?php

// definindo a estrura
$estruct = array(
    array("data", "D"),
    array("nome", "C", 50),
    array("idade", "N", 3, 0),
    array("email", "C", 128),
    array("texto", "M", 255),
    array("membro", "L")
);

// criando o banco de dados
if (!dbase_create('clientes.dbf', $estruct)) {
    print "O banco de dados não pode ser criado.";
}

?>


***************************************************************************************************************************************************
2-Abrindo o banco de dados

int dbase_open (string filename, int flags)

A função dbase_open() abre um banco de dados do dbase cujo nome é apontado por filename.
Os tipos de operações permitidas são definidas pelo valor do argumento flags. Os valores legais para flags são:

0 - somente leitura
1 - somente escrita
2 - leitura e escrita

A função retorna um identificador de arquivo dbase, ou seja, um dbase_identifier em caso de sucesso, ou FALSE caso falhar.

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open("clientes.dbf", 2);
if (!$db) {
    print "o banco de dados especificado não pode ser aberto";
}

?>


***************************************************************************************************************************************************
3-Fechando o banco de dados

bool dbase_close (int dbase_identifier)

A função dbase_close() fecha o banco de dados do dbase associado ao dbase_identifier.

Segue abaixo um exemplo de sua utilização:
<?php    

$db = dbase_open("clientes.dbf", 2);
if (!$db) {
    print "o banco de dados especificado não pode ser aberto";
} else {
     // caso clientes.dbf esteja aberto ele fecha o mesmo
    dbase_close($db);
}

?>


***************************************************************************************************************************************************
4-Adicionando registros ao banco de dados

bool dbase_add_record (int dbase_identifier, array record)

A função dbase_add_record() adiciona um registro ao banco de dados dbase. Retorna TRUE em caso de sucesso e FALSE caso contrário.

Segue abaixo um exemplo comentado de sua utilização:
<?php
// iremos adicionar um registro ao banco de dados clientes.dbf criado anteriormente.
$db = dbase_open('clientes.dbf', 2);

// reparem que a data está no formato YYYYMMDD e para o campo lógico foi passado
// um caracter, os caracteres válidos para este campo são T (true) e F (false).
$registro = array("20030822", "Fulano de Tal", 20, "fulanodetal@email.com.br", "somente um teste", 'T');
if (!dbase_add_record($db, $registro)) {
    print 'Não foi possível inserir registro no banco de dados';
}
dbase_close($db);

?>


***************************************************************************************************************************************************
5-Deletando registros do banco de dados

bool dbase_delete_record (int dbase_identifier, int record)

A função dbase_delete_record() marca o registro a ser deletado enquanto

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open('clientes.dbf', '2');
// marca o primeiro registro
dbase_delete_record($db, 1);
dbase_close($db);

?>


***************************************************************************************************************************************************
6-Limpando registros do banco de dados

bool dbase_pack (int dbase_identifier)

a função dbase_pack() exclui permanentemente os registros marcados.

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open('clientes.dbf', '2');
// deleta todos os registros marcados
dbase_pack($db);
dbase_close($db);

?>


***************************************************************************************************************************************************
7-Obtendo informações do banco de dados

int dbase_numfields (int dbase_identifier)

A função dbase_numfields() retorna o número de campos. O argumento dbase_identifier deve ser um identificador de arquivo dbase válido retornado por uma chamada a dbase_open() ou dbase_create().

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open("clientes.dbf", 2);
printf("clientes.dbf contém %d campos\n", dbase_numfields($db));
dbase_close($db);

?>


***************************************************************************************************************************************************
8-Obtendo informações do banco de dados

int dbase_numrecords (int dbase_identifier)

A função dbase_numrecords() retorna o número de registros. O argumento dbase_identifier deve ser um identificador de arquivo dbase válido retornado por uma chamada a dbase_open() ou dbase_create().

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open("clientes.dbf", 2);
printf("clientes.dbf contém %d registros\n", dbase_numrecords($db));
dbase_close($db);

?>


***************************************************************************************************************************************************
9-Substituindo um registro no banco de dados

bool dbase_replace_record (int dbase_identifier, array record, int dbase_record_number)

A função dbase_replace_record() substitui um registro no banco de dados, e geralmente é usada para alterar dados em um registro. O argumento record_number é o número do registro a ser alterado e o argumento record deve ser um vetor com os dados do registro.

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open('clientes.dbf', '2');

// no registro abaixo alterei apenas o campo nome e e-mail do registro
// adiconado anteriormente, mas você pode alterar todos se quiser
$registro = array("20030822", "Ciclano", 20, "ciclano@email.com.br", "Troquei o conteudo", 'T');

if (!dbase_replace_record($db, $registro, 2)) {
    print 'Não foi possível alterar registro no banco de dados';
}
dbase_close($db);

?>


***************************************************************************************************************************************************
10-Lendo um registro do banco de dados (parte 1)

array dbase_get_record (int dbase_identifier, int record)

A função dbase_get_record() lê um registro do banco de dados e o retorna em um vetor.

Cada campo é convertido ao tipo de dados apropriado do PHP, exceto:
- Datas que permanecem como strings
- Inteiros que teriam causado um transbordamento (> 32 bits) que seriam devolvidos como string.

Além dos indices numéricos o vetor que contém os dados do registro contém um índice associativo de nome 'deleted' que indica se o registro está marcado ou não, o valor 1 indica que este campo está marcado e 0 caso contrário.

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open("clientes.dbf", 2);
$registro = dbase_get_record($db, 1);

print "data  : $registro[0]<br>";
print "nome  : $registro[1]<br>";
print "idade : $registro[2]<br>";
print "email : $registro[3]<br>";
print "texto : $registro[texto]<br>";
print "membro: $registro[4]<br>";

// agora verificamos se o registro está marcado
if ($registro['deleted']) {
    print '__DELETADO__';
}
dbase_close($db);

?>


***************************************************************************************************************************************************
11-Lendo um registro do banco de dados (parte 2)

array dbase_get_record_with_names (int dbase_identifier, int record)

A função dbase_get_record_with_names() lê um registro do banco de dados e o retorna em um vetor associativo. Essa função é idêntica a dbase_get_record() exceto que o vetor retornado por dbase_get_record_with_names() é associativo, sendo que cada índice do vetor corresponde ao nome de um campo no banco de dados.

Segue abaixo um exemplo de sua utilização:
<?php

$db = dbase_open("clientes.dbf", 2);
$registro = dbase_get_record_with_names($db, 1);

print "data  : $registro[data]<br>";
print "nome  : $registro[nome]<br>";
print "idade : $registro[idade]<br>";
print "email : $registro[email]<br>";
print "texto : $registro[texto]<br>";
print "membro: $registro[membro]<br>";

// agora verificamos se o registro está marcado
if ($registro['deleted']) {
    print '__DELETADO__';
}
dbase_close($db);

?>


Com base nos exemplos acima podemos executar os comandos em bases compartilhadas.

Fiz os testes usando um browse enquanto que a tabela esta aberta em modo compartilhado.

A deleção de registros ocorreu sem travamento de registros, visto que a biblioteca não possui tais comandos.

O campo MEMO apesar de ter sido criado e ter o .DBT associado não permitiu o manuseio salvando o conteúdo num campo texto normal mas de tamanho que não ultrapassou 10 caracteres.

Para um uso aprimorado o melhor seria abertura via Connection String e ODBC somado a comandos SQL.

Bom estão ai os meus testes para conclusões e criticas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 01 Ago 2013 23:40

Estou testando estas funções, mas está dando o seguinte erro:

Fatal error: Call to undefined function dbase_open() in /dados/www/dominios/htdocs/promotor/www.inaciocarvalho.com.br/teste.php on line 3


O que é isso?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 02 Ago 2013 04:23

Amiguinho,

O módulo dBase do .PHP deve estar ativo no seu servidor para que as funções tenham efeito.

O seu servidor deverá dar suporte a arquivos dBase pelo .PHP através do uso da extensão php_dbase.dll no caso de rodar .PHP pelo Windows ou php_dbase.so no caso de rodar .PHP pelo Linux.

No arquivo PHP.INI a linha a que se refere a extensão deverá ser habilitada retirando o caracter ";":
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here.  Specify the location of the extension with the
; extension_dir directive above.

extension=php_dbase.dll
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 02 Ago 2013 16:30

Se eu entendi direito, eu tenho que salvar o arquivo que vc postou como php.ini no ftp do meu site, escolhendo o extension=msql.dll (já que uso o Windows, não o unix), correto?

Fiz isso, mas continua não dando certo, o erro que aparece é o mesmo.

Será que eu entendi errado?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 02 Ago 2013 21:05

Amiguinho,

Se voce tiver completo controle sobre seu host, ou seja, voce instalou e configurou os servidores de scripts, inclusive o .PHP deverá modificar o .PHP.INI na pasta do PHP. Não basta apenas subir a alteração como postei.

Se o seu host é um UOL, Terra, LocaWeb, etc deverá contactar os suporte e pedir que façam a alteração para dar este tipo de suporte.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 06 Ago 2013 00:03

Estou tentando com o meu provedor que façam esta alteração. Eles me questionaram quais são as alterações necessárias para isso. Eles não deviam saber isso?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 06 Ago 2013 01:16

Amiguinho,

Eles não deviam saber isso?


Infelizmente nem sempre. É necessário um conhecimento profundo e geralmente o pessoal técnico esta focado no básico das ferramentas de maior uso. Este caso é um detalhe.

Bastará que eles alterem a linha(se for um servidor Windows):
; extension=php_dbase.dll


Para
extension=php_dbase.dll


Bastará que eles alterem a linha(se for um servidor Linux):
; extension=php_dbase.so


Para
extension=php_dbase.so


Em todo caso verifique também se o seu host lhe habilita suporte para scripts .ASP. Neste caso use o tópico Usando tabelas dBase com ASP.

Infelizmente o tópico é muito recente e não aparece no topo das buscas no google, diferentemente se digitar: Usando tabelas dBase com PHP

Mais informação a respeito

Tenha em mente que o uso de tabelas deste tipo com ASP ou PHP tem limitações, como possiveis problemas com campos memo ou mau uso de banda. Portanto use a técnica para manipulação pequena de dados.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 15 Ago 2013 21:47

Amigo,

Depois de uma grande disputa com o provedor, que resultou inclusive na troca de provedor e em quase uma semana com meu site e e-mail PRO fora do ar, finalmente consegui habilitar o PHP.

Mas ainda está dando o seguinte erro na minha função:

PHP Warning:  dbase_open() [<a href='function.dbase-open'>function.dbase-open</a>]: unable to open database agenda.dbf in C:\Inetpub\Wwwroot\inaciobr\teste.php on line 3
PHP Warning:  dbase_get_record() [<a href='function.dbase-get-record'>function.dbase-get-record</a>]: Unable to find database for identifier 0 in C:\Inetpub\Wwwroot\inaciobr\teste.php on line 4
PHP Warning:  dbase_close() [<a href='function.dbase-close'>function.dbase-close</a>]: Unable to find database for identifier 0 in C:\Inetpub\Wwwroot\inaciobr\teste.php on line 19


Não sei se ainda falta o provedor habilitar alguma coisa, ou se tem algum erro na minha função, que está assim:

<?php

$db = dbase_open("agenda.dbf", 2);
$registro = dbase_get_record($db, 1);

print "data : $registro[0]
";
print "valor : $registro[1]
";
print "campo : $registro[2]
";
print "historico : $registro[3]
";

// agora verificamos se o registro está marcado
if ($registro['deleted']) {
  print '__DELETADO__';
}
dbase_close($db);

?>
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 15 Ago 2013 22:41

Amiguinho,

Também estive as voltas com configurações do .PHP, dBase e Apache.

Ainda não cheguei onde queria, mas nos testes que fiz usando um servidor PHP para o desktop, o MiniServX, consegui fazê-lo subir com suporte ao dBase.

Eu havia configurado o ServCGI(projeto que disponibilizei) tenho pra mim que configurei o Apache existente nele com tal recurso. Pena que o arquivo foi deletado de meu servidor e não tenho um backup para subir novamente.

Mas assim que obtiver exito, dou-lhe um auxilio.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 16 Ago 2013 01:12

Amiguinho,

Supondo que sua tabela agenda.dbf, esteja na pasta c:\web\dados e que contenha um campo chamado telefone, atente:
<?php

      $dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=c:\web\dados;";
      $conn= odbc_connect($dsn,"","");

      if(!$conn)
      {
            exit("conexao falhou: ".odbc_errormsg());
      }

      $sql = "select * from agenda";
      $rs = odbc_exec($conn, $sql);

      echo "<table><tr>";
      echo "<th>Telefone</th></tr>";

      while (odbc_fetch_row($rs))
      {
            echo "<tr><td>".odbc_result($rs, "telefone")."</td></tr>";
      }
      odbc_close($conn);
      echo "</table>"

?>
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 16 Ago 2013 23:54

Amigo, agora está dando o seguinte erro:

PHP Warning:  odbc_connect() [<a href='function.odbc-connect'>function.odbc-connect</a>]: SQL error: [Microsoft][ODBC dBase Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1a18 Thread 0x427c DBC 0x235339c Xbase'., SQL state S1000 in SQLConnect in C:\Inetpub\Wwwroot\inaciobr\teste.php on line 4


Fiquei com dúvida se a base deveria consta na pasta c:\web\dados, como vc citou, ou se deveria ficar no ftp, como os demais arquivos do site.

Mas testei das duas formas, e o erro foi o mesmo.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 17 Ago 2013 00:28

Amiguinho,

No exemplos dados pastas e diretórios são pessoais e fictícios, variam de máquina ou gosto. Voce deve configurar a sua para no lugar da que foi passada no exemplo.

Poste o código, somente a mensagem de erro não ajuda.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 17 Ago 2013 00:46

É que eu usei exatamente o teu modelo, para testar, sem mudar absolutamente nada. De qualquer forma, aí vai ele:

<?php

   $dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=c:\web\dados;";
   $conn= odbc_connect($dsn,"","");

   if(!$conn)
   {
      exit("conexao falhou: ".odbc_errormsg());
   }

   $sql = "select * from agenda";
   $rs = odbc_exec($conn, $sql);

   echo "<table><tr>";
   echo "<th>Telefone</th></tr>";

   while (odbc_fetch_row($rs))
   {
      echo "<tr><td>".odbc_result($rs, "telefone")."</td></tr>";
   }
   odbc_close($conn);
   echo "</table>"

?>


A base agenda tem o campo telefone sim.

E coloquei-a tanto no FTP do site, como na pasta c:\web\dados, como vc mencionou antes.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor cjp » 23 Ago 2013 00:25

Rochinha, por favor, me ajude a resolver este problema.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Usando tabelas dBase com PHP

Mensagempor rochinha » 23 Ago 2013 03:27

Amiguinho,

Voce está fazendo os testes e executando os scripts em um site na internet?

Se estiver na internet no lugar de:
$dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=c:\web\dados;";


Coloque:
$dsn = "DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=".dirname($_SERVER['SCRIPT_FILENAME']).";";


ou:
$dsn = "DRIVER={Driver da Microsoft para o dBase (*.dbf)};DBQ=".dirname($_SERVER['SCRIPT_FILENAME']).";";


A tabela deverá estar na mesma pasta do script.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Próximo



Retornar para Outras linguagens de programação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro