Lendo um arquivo e inserindo os dados no DB

Pessoal

Preciso ler um arquivo e os dados deste arquivo inserir em BD via SQL

Eu já consegui abrir o arquivo. Ver o seu conteúdo. Mas não consigo pegar o seu conteúdo e este conteúdo inserir no BD.

script:

$arquivo = fopen($this->Ini->path_doc."/".{arquivo},‘r’);
if ($arquivo == false) die(‘Não foi possível abrir o arquivo.’);
// imprime linha por linha ate detectar o final
while(!feof($arquivo)) {
echo fgets($arquivo). ‘
’; }
$SQL = “insert into Hsol_compara(Pes_Numero_Cp, He_Cp, Data_Cp) VALUES (1234, 1, ‘2014-04-24’)”;
sc_exec_sql($SQL);
fclose($arquivo);

se eu colocar valor manual (VALUES (1234, 1, ‘2014-04-24’)) insere normalmente… mas não consigo pegar o resultado do arquivo e inserir…

Alguém poderia me ajudar ? obrigado

Como você está pegando valor por valor do arquivo? O que retorna seu echo fgets?

Obrigado pela atenção

retorna: 1007972 ;1;2014-04-24

são três colunas na tabela do BD…

o arquivo teste.txt contem exatamente isto: 1007972 ;1;2014-04-24

Obrigado

Já tentou fazer isto:

$retorno = fgets($arquivo);

$array = explode(";", $retorno);

$variavel1 = trim($array[0]);
$variavel2 = trim($array[1]);
$variavel3 = trim($array[2]);

$SQL = "insert into Hsol_compara(Pes_Numero_Cp, He_Cp, Data_Cp) VALUES ('$variavel1', '$variavel2', '$variavel3')";
sc_exec_sql($SQL);
fclose($arquivo);

Eu acho que assim vai dar certo.

Caros colegas estou com a mesma necessidade mas o meu retorna assim

A configuração esta assim no onvalidate

sc_exec_sql(“INSERT INTO tb_bilhete ($data , $hora , $n_tronco) values ($data , $hora , $n_tronco”);

Data= 09.01.2014 | Hora= 14:21:29 | Nª Tronco= 295 | Ramal= 108 | Sinalização= | Chamada= 00:00:28 | Número= 32176130 | Taxação= | Tipo de Chamada= 2 | Projeto= 1721 | MSN= | Ocupação= 0 3 | LCR= 3

ERRO
Erro ao acessar o banco de dados
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '09.01.2014 , 14:21:29 , 295 ) values (‘09.01.2014’ , ‘14:21:29’ , '295 ‘’ at line 1

View SQL

Se alguem puder me ajudar