Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
问题:使用php将xlsx文件上载到mysql时,会显示一个额外的字符,并显示所有值_Php_Mysql - Fatal编程技术网

问题:使用php将xlsx文件上载到mysql时,会显示一个额外的字符,并显示所有值

问题:使用php将xlsx文件上载到mysql时,会显示一个额外的字符,并显示所有值,php,mysql,Php,Mysql,我正在尝试上载xlsx文件。使用php和mysql。。但是我在数据库中的值后面有一个额外的符号。。like值为ETI5465,上传后变为ETI5465 if($_POST['action']=="addFile"){ $fname = $_FILES['sel_file']['name']; $path_info=pathinfo($fname); $ext=$path_info['extension']; $chk_ext = explode(

我正在尝试上载xlsx文件。使用php和mysql。。但是我在数据库中的值后面有一个额外的符号。。like值为ETI5465,上传后变为ETI5465

if($_POST['action']=="addFile"){
$fname = $_FILES['sel_file']['name'];
        $path_info=pathinfo($fname);
        $ext=$path_info['extension'];




     $chk_ext = explode(".",$fname);

     if(strtolower($chk_ext[1]) == "xlsx")
     {

        require 'simplexlsx.class.php'; 


         $filename = $_FILES['sel_file']['tmp_name'];
       //  $handle = fopen($filename, "r");


            $xlsx = new SimpleXLSX($filename);

            list($cols, $rows) = $xlsx->dimension();


            foreach($xlsx->rows() as $k => $data) { // LOOP THROUGH EXCEL WORKSHEET
                if($k >'7'){

                    if($_POST['upload']=="excel1" &&  $cols<>'10')
                    {


                    $newdate=date('m/d/Y H:i:s A',$xlsx->unixstamp($data[4]));

                    $sql = "INSERT INTO vehicle_fuel_expenses (`company_code_nr`, `cartao`, `placa`, `modelo`, `responsavel`, `data_hora`, `transacao`, `tipo`, `liberacao_Restricao`, `motorista`, `matricula`, `estabelecimento`, `cidade`, `quilometragem`, `horas`, `servico`,`valor`,`km_rodados`,`horas_trabalhadas`,`litros`,`km_litro`,`litros_Hora`,`valor_Litro`,`ia_1`,`ia_2`,`ia_3`,`ia_4`,`ia_5`) VALUES ('".$_SESSION['company']."','$data[0]','$data[1]','$data[2]','$data[3]','$newdate','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]',
                     '$data[13]','$data[14]','$data[15]','$data[16]','$data[17]','$data[18]','$data[19]','$data[20]','$data[21]','$data[22]','$data[23]','$data[24]','$data[25]','$data[26]')";
                    $inser=@mysql_query($sql) or die(mysql_error());
                    }

                        if($_POST['upload']=="excel2" &&  $cols=='3')
                            {

                            //$newdate=date('m/Y',$xlsx->unixstamp($data[4]));
                            $sql = "INSERT INTO vehicle_fuel_expenses_mensalidade1 (`company_code_nr`, `veículo`, `item_faturado`, `valor`) VALUES ('".$_SESSION['company']."','".addslashes($data[0])."','".addslashes($data[1])."','".addslashes($data[2])."')";
                            $inser=@mysql_query($sql) or die(mysql_error());
                            }

                   if($_POST['upload']=="excel3" &&  $cols=='10')
                    {
           $sql = "INSERT INTO vehicle_toll_consumption_cost (`company_code_nr`, `placa`, `tag`, `prefixo`, `marca`, `categ`, `data`, `hora`, `rodovia`, `praca`,   
                    `valor`) VALUES ('".$_SESSION['company']."','$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]')";
                     $inser=@mysql_query($sql) or die(mysql_error());                       

                    }

                        }
                        }         
                    if($inser=='1')
                    {
                        echo '<script>alert("Importado com sucesso");</script>';
                    }
                    else 
                       {
                         echo '<script>alert("Please Select A Valid File");</script>';  
                       }

问题是由于数据库表使用的文件和字符集的编码。例如,如果DB表使用的字符集是utf8_general_ci,并且从中读取数据的文件以UTF-8编码,因为它可能是连接到DB后的文件,则必须执行命令SQL以设置正确的字符集,在这种情况下:

SET CHARACTER SET utf8