Я пытаюсь обновить базу данных MySQL, используя файл CSV.
У меня этот запрос работает в phpmyadmin
LOAD DATA INFILE 'C:/wamp/www/website/test_mysql_import.csv' INTO TABLE `csv_preset` FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n'
но когда я пытаюсь использовать его в функции mysqli_query, он не обновляет базу данных.
вот полный блок кода:
<?php require "db_connect.php"; ?>
<?php
$csv_file = "C:/wamp/www/website/test_mysql_import.csv";
$sql_dump ="TRUNCATE TABLE csv_preset";
$sql_update = "LOAD DATA INFILE '$csv_file' INTO TABLE `csv_preset` FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n'");
mysqli_query($db_conx, $sql_dump);
mysqli_query($db_conx, $sql_update);
?>
<?php require "db_connect.php"; ?>
<?php
$csv_file = "C:/wamp/www/website/test_mysql_import.csv";
$sql_dump ="TRUNCATE TABLE csv_preset";
$sql_update = "LOAD DATA INFILE '".$csv_file."' INTO TABLE `csv_preset` FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\n'");
mysqli_query($db_conx, $sql_dump);
mysqli_query($db_conx, $sql_update);
?>
Попробуйте этот код вместо этого:
$sql_update = "LOAD DATA INFILE $csv_file INTO TABLE `csv_preset` FIELDS TERMINATED BY ',' ENCLOSED BY " ESCAPED BY " LINES TERMINATED BY \\n";
Нет необходимости в одинарных кавычках вокруг вашей переменной, так как она уже в двойных. Двойные кавычки вы можете избежать их htmlcode и новая строка с «\».