我的代碼處理一個包含大約50,000個客戶端的.txt文件,我必須使用MySQL批處理機制將其輸入到表中「LOAD DATA LOCAL INFILE 「(在Sql Server的世界或MongoDb中批量插入)PHP和Ajax:不可能通過Ajax調用執行LOAD DATA LOCAL INFILE(mysql)
我的代碼工作正常,如果我從同一瀏覽器執行它,但如果我使用Ajax調用完成同樣的操作,它會返回」false「,所以我想象apache或PHP安全原因阻止我執行此過程。有誰知道我該怎麼辦?
我的代碼是:
<?php
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
error_reporting(E_ALL);
ini_set("display_errors", 1);
$mysqli = new mysqli('127.0.0.1', 'user_name', 'secret', 'prueba');
$file = $_POST["file"];
if ($mysqli->connect_errno) {
echo "Errno: " . $mysqli->connect_errno . "\n";
echo "Error: " . $mysqli->connect_error . "\n";
exit;
}
$sql = "LOAD DATA LOCAL INFILE '/var/www/node/importacion/api/csv_files/{$file}' INTO TABLE cuentas FIELDS TERMINATED BY '|'";
try {
$resp = $mysqli->query($sql);
$mysqli->close();
$respuesta = array(
"server" => $resp
);
}catch (Exception $e){
print_r($e->getMessage());
}
echo json_encode($respuesta);
你檢查 「/無功/網絡/節點/ importacion/API/csv_files/{$文件}」 是該集團MySQL和WWW的數據的? –
我該怎麼做? – Ricky
什麼是Ajax調用?你有3個打印語句。 2錯誤代碼和2以JSON結束。需要看到你的AJAX調用,看看你是如何處理調用和返回 –