使用PHP Alter值将CSV插入MySQL

时间:2018-11-24 11:54:49

标签: php mysql

我正在一个小项目中,我确实从程序(CSV)导出数据,并且想将此数据导入到我自己的项目中。我正在用MySQL用PHP编写。

我遇到的问题是,导出的CSV导出了一些带有逗号的值(货币),而MySQL在使用decimal(12,2)时不接受要插入的逗号。

数据如下:

  

日期,“说明”,“帐户”,“其他”,“代码”,“交易”,“金额”,“种类”,“注释”   20180731,“ StoreA”,“ 123456789”,“”,“ BA”,“ Af”,“ 3,99”,“自动售货机”,“评论”   20180731,“ StoreB”,“ 987654321”,“”,“ BA”,“ Af”,“ 13,40”,“付款终端”,“评论”

     

我当前用于导入数据的代码如下:

<?php
    include ("DB_connect.php");

    if ($_FILES['filetoupload']['error'] != UPLOAD_ERR_NO_FILE) {

        if(isset($_FILES['filetoupload'])) {
            $file = $_FILES['filetoupload'];

            //File properties
            $file_name = $file["name"];
            $file_tmp = $file["tmp_name"];
            $file_size = $file["size"];
            $file_error = $file["error"];

            //Workout the file extension
            $file_ext = explode(".", $file_name);
            $file_ext =  strtolower(end($file_ext));

            $allowed = array('csv');

            if(in_array($file_ext, $allowed)) {
                if($file_error === 0) {
                    if($file_size <= 5242880) {
                        $file_name_new = $file_name;
                        $file_destination = "../Uploads/" . $file_name_new;

                        if(move_uploaded_file($file_tmp, $file_destination)){
                            echo $file_destination;
                            $conn = db_connect();      

                            $query = mysqli_query($conn, "LOAD DATA INFILE '" . $_SERVER['DOCUMENT_ROOT'] . "../Uploads/" . "/" . $file["name"] . "' INTO TABLE transactions;");

                            header('Refresh: 0;TransactieUpload.php?s=succes');
                        }
                    }
                }
            }
        }
    }
?>

在上传/导入过程中是否有任何方法可以更改数据以用点代替逗号?

谢谢。

0 个答案:

没有答案