Это была ночная работа, работавшая два года. PHP-файл импортирует текстовый файл в базу данных MYSQL. Неожиданно сегодня получаю Malformed Packet при импорте файла TXT. Я заметил, что сервер работает только 23 часа, поэтому я думаю, что GoDaddy мог бы что-то обновить.
MYSQL Ver = 5.6.43-cll-lve
local_infile = ON
Без «local» я получаю сообщение об ошибке «Доступ запрещен для пользователя», я пытался предоставить FILE, но у меня возникли проблемы с получением доступа к CLI mysql через SSH (он никогда не был нужен раньше), а PHP MY Admin не имеет прав доступа.
Я провел целый день на этом и не могу понять, что делать. Я также попытался установить для файла значение 777.
Я попытался удалить усеченную часть и просто выполнить импорт, урезав файл импорта до 3 строк, используя старые файлы импорта, которые работали раньше - не могу сделать головы или хвосты.
require('config_dev.php');
$path = '/home/pro/public_html/upload/IDUpload_dev.txt';
$mysqli = new mysqli($hostname,$username, $password, $dbname);
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
$sql1 = "TRUNCATE TABLE Accounts;";
if (!$mysqli->query($sql1)) {
echo "\nQuery execute failed: ERRNO: (" . $mysqli->errno . ") " . $mysqli->error;
} else {
echo ("Truncated<br>");
}
$sql2 = "LOAD DATA LOCAL INFILE '".$path."' INTO TABLE Accounts
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(acct,type,zip)";
if (!$mysqli->query($sql2)) {
echo "\nQuery execute failed: ERRNO: (" . $mysqli->errno . ") " . $mysqli->error;
} else {
echo ("Imported.");
}
mysqli_close($mysqli);