Id想从CSV文件中插入一些数据,但是当我上传它们时会出现错误报告。 在laravel或PHP中做到这一点的最佳方法是什么。 enter image description here
public function uploadFile(Request $request){
$conexao = \DB::table('tb_pwbi_analytics_acesso');
$arquivo = $_FILES['file']['tmp_name'];
$nome = $_FILES['file']['name'];
$ext = explode(".", $nome);
$extensao = end($ext);
if ($extensao != 'csv') {
echo 'extenso invalida';
}else{
$objeto =fopen($arquivo, 'r');
while (($dados = fgetcsv($objeto,1000,";")) !== FALSE) {
$regional = utf8_encode($dados[0]);
$uf = utf8_encode($dados[1]);
$anf = utf8_encode($dados[2]);
$localidade = utf8_encode($dados[3]);
$ibge = utf8_encode($dados[4]);
$ativo = utf8_encode($dados[5]);
$result = $conexao->query("INSERT INTO tb_pwbi_analytics_acesso (regional, uf, anf, localidade, ibge, ativo) VALUES('$regional',' $uf','$anf','$localidade', '$ibge','$ativo')");
}if($result){
echo 'Dados inseridos com sucesso!';
}else{
echo 'Erro ao inserir os dados';
}
}
答案 0 :(得分:1)
方法query()
并非来自构建器实例。它在Illuminate\Database\Connection
类中。使用数据库外观(use Illuminate\Support\Facades\DB;
)插入所需的信息。
DB::table('tb_pwbi_analytics_acesso')->insert(
[
'regional' => $regional,
'uf' => $uf,
// and so on
]
);
答案 1 :(得分:0)
您可以使用查询生成器,但是放置的表单是错误的。根据文档插入新记录的正确方法
$attributes = [
'name' => 'Name X'
'email' => 'email@x.com'
]
$insert = \DB::table('tb_pwbi_analytics_acesso')->create($attributes);
dd($insert)