【发布时间】:2019-08-26 19:32:57
【问题描述】:
这是一项工作了两年的夜间工作。 PHP 文件将一个 txt 文件导入 MYSQL 数据库。今天在导入 TXT 文件时突然收到格式错误的数据包。我注意到服务器只运行了 23 小时,所以我认为 GoDaddy 可能已经更新了一些东西。
MYSQL 版本 = 5.6.43-cll-lve
local_infile = 开启
如果没有“本地”,我会收到错误,“用户访问被拒绝”,我尝试授予 FILE,但是通过 SSH 获取 mysql CLI 访问时遇到问题(以前从未需要它)并且 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);
【问题讨论】:
-
“我注意到服务器只运行了 23 小时,所以我认为 GoDaddy 可能已经更新了一些东西。” 所以先联系 GoDaddy 询问他们是否更新了一些东西。跨度>
-
他们的低级支持根本不会知道任何事情。这不会有帮助。
-
“他们的低级别支持根本不会知道任何事情。那没有帮助”我们无法访问那里的服务器,也不知道什么他们现在更新了吗?所以在这里发帖也无济于事......也许花更多的钱通过更好的虚拟主机获得服务,那里的支持更好?
-
:( 我的代码错误的可能性比 GoDaddy 的服务器更可能受到责备,即使他们确实更新了。真的只是需要一些帮助,但感谢您的 cmets。
-
@RaymondNijland 请参阅下面的有用评论/解决方案,以防您将来需要帮助其他人。
标签: php mysql file mysqli import