Ben*_*Ben 3 php mysql import mysqli file
这是两年来的夜班工作。PHP 文件将 txt 文件导入 MYSQL 数据库。今天在导入TXT文件时突然出现格式错误的数据包。我注意到服务器只运行了 23 小时,所以我认为 GoDaddy 可以更新一些东西。
MYSQL 版本 = 5.6.43-cll-lve
local_infile = ON
如果没有“本地”,我会收到错误消息,“用户拒绝访问”,我尝试授予 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);
Run Code Online (Sandbox Code Playgroud)
要使用LOAD DATA INFILE LOCAL该MYSQLI_OPT_LOCAL_INFILE需要连接之前启用。
您应该SHOW GLOBAL VARIABLES LIKE 'local_infile'查看是否在服务器上启用了这也是必需的。
| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |