我正在一个小项目中,我确实从程序(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');
}
}
}
}
}
}
?>
在上传/导入过程中是否有任何方法可以更改数据以用点代替逗号?
谢谢。