Lançado Adianti Framework 7.6!
Clique aqui para saber mais
INSERT MANUAL Pessoal, estou criando um sistema para importação de arquivo CSV para o Banco de dados MySQL, porém ao fazer o upload do arquivo da um erro que já sei que é no insert só não sei o que estou errando neste insert, segue abaixo o meu código caso alguém possa me ajudar. Observação: Se eu colocar o insert desta forma ele aceita: INSERT INTO importacao (nome,telefone) VALUES (jose,69999988...
FS
INSERT MANUAL  
Pessoal, estou criando um sistema para importação de arquivo CSV para o Banco de dados MySQL, porém ao fazer
o upload do arquivo da um erro que já sei que é no insert só não sei o que estou errando neste insert, segue abaixo o meu código caso alguém possa me ajudar.
Observação: Se eu colocar o insert desta forma ele aceita:
INSERT INTO importacao (nome,telefone) VALUES (jose,6999998888)


******************************************************************************
public function onUpload($param)
{
//var_dump($param['nome_arquivo']);
try
{
// connection info
$db = array();
$db['host'] = '192.168.6.240';
$db['port'] = '3306';
$db['name'] = 'AppLabin';
$db['user'] = 'root';
$db['pass'] = '123456';
$db['type'] = 'mysql';

TTransaction::open(NULL, $db); // open transaction

$conn = TTransaction::get(); // get PDO connection

$nome_arquivo = 'tmp/' . $param['nome_arquivo'];
$object = fopen($nome_arquivo, 'r');
while(($dados = fgetcsv($object, 1000, ";")) !== FALSE)
{
$result = $conn->query ("INSERT INTO importacao (nome,telefone) VALUES ($dados[0],$dados[1])");
}
fclose($object);

TTransaction::close(); // close transaction
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
}
}

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (6)


FS

Quando eu uso o var_dump para verificar o que esta vindo na variável ele me mostra desta forma,
array(2) { [0]=> string(4) "Nome" [1]=> string(8) "Telefone" }
array(2) { [0]=> string(5) "Pedro" [1]=> string(11) "69992086175" }
array(2) { [0]=> string(4) "Jos�" [1]=> string(11) "69333334444" }
array(2) { [0]=> string(8) "Fernando" [1]=> string(11) "69222222222" }

ou seja, as informações ao meu ver esta passando normal, não esta aceitando na linha do insert.
NR

Qual o erro?
FS

Se eu colocar o insert desta forma ele aceita:
INSERT INTO importacao (nome,telefone) VALUES (jose,6999998888)
FS

da forma que estou usando apresenta este erro:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: 'xE9' for column 'nome' at row 1
NR

Provavelmente seja erro de charset. Confira o charset do arquivo e do banco ou tente "transformar" o nome com "utf8_encode/utf8_decode" antes de gravar.
FS

Obrigado Nataniel era isso mesmo.