Я попытался импортировать файл csv с другого сервера с помощью LOAD DATA LOCAL INFILE
, но он дает мне ошибку The user update failed: Can't find file
, даже файл существует в указанном пути. Я также попытался LOAD DATA INFILE
ноИмпорт CSV-файла в базу данных Mysql в PHP
Есть ли какой-либо другой способ, чтобы импортировать файл CSV непосредственно в пути к файлу (без использования какого-либо кнопка отправки) в базе данных MySQL и удалить текущие данные в таблице Dbase, если есть новая Файл csv загружен?
EDIT: Я попробовал и этот скрипт, чтобы импортировать файл CSV без кнопки, но данные CSV файл не импортировать
PHP (второй код):
$mysqli = new mysqli("localhost", "user", "password", "dbasename");
$file = "/var/www/html/files/filename.csv";
$handle = fopen($file,'r');
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE){
$num = count($data);
for ($c=0; $c < $num; $c++){
$col[$c] = $data[$c];
}
$col1 = $data[0];
$col2 = $data[1];
$col3 = $data[2];
$col4 = $data[3];
$col5 = $data[4];
// SQL Query to insert data into DataBase
$query = "INSERT INTO dbname.tablename(col1,col2,col3,col4,col5) VALUES('".$col1."','".$col2."','".$col3."','".$col4."','".$col5."')";
$mysqli->query($query);
}
fclose($handle);
Вот PHP:
$sql = "LOAD DATA LOCAL INFILE 'filename.csv'
INTO TABLE dbname.tablename
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;";
$con=mysqli_connect("localhost","user","password","db");
// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
};
$result = mysqli_query($con, $sql);
if (mysqli_affected_rows($con) == 1){
$message = "The data was successfully added!";
} else {
$message = "The user update failed: ";
$message .= mysqli_error($con);
};
echo $message;
@ e4c5, я не пытаюсь экспортировать данные, но импортировать его в базу данных MySQL. Я не это дубликат – User014019