Mon code traite un fichier .txt qui contient environ 50 000 clients, que je dois entrer dans une table en utilisant le mécanisme de batch MySQL "LOAD DATA LOCAL INFILE "(Insert en vrac dans le monde du serveur Sql ou MongoDb)PHP et Ajax: Impossible d'exécuter LOAD DATA LOCAL INFILE (mysql) depuis l'appel Ajax
Mon code fonctionne bien si je le fais depuis le même navigateur, mais si je fais la même chose avec un appel Ajax, il me renvoie" faux ", donc j'imagine qu'une raison de sécurité apache ou PHP m'empêche d'exécuter cette procédure. Est-ce que quelqu'un sait ce que je devrais faire?
Mon code est:
<?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);
Avez-vous vérifié "/ var/www/node/importacion/api/csv_files/{$ file}" est dans le groupe de données www-mysql et? –
Comment je fais ça? – Ricky
Qu'est-ce que l'appel Ajax? Vous avez 3 déclarations d'impression. 2 Les codes d'erreur et 2 se terminent par JSON. Besoin de voir votre appel AJAX pour voir comment vous gérez les appels et retourner –