php - MySQL LOAD DATA LOCAL INFILE 期间出现格式错误的数据包错误

标签 php mysql

我正在尝试使用 PHP 的 mysqli::query 将文件加载到 MySQL(v5.1.38) innodb 表中和一个 LOAD DATA LOCAL INFILE询问。查询返回“格式错误的数据包”错误代码 2027。知道有什么问题吗?

这是目标表:

CREATE TABLE  `zbroom`.`lee_datareceive` (
  `a` varchar(45) NOT NULL,
  `b` varchar(45) NOT NULL,
  `c` varchar(45) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

这里是查询:

LOAD DATA LOCAL INFILE '/path/to/file.txt'
    INTO TABLE lee_datareceive
    FIELDS TERMINATED BY '\t';

这是文件数据。值以制表符分隔:

t1  t2  t3
a   b   c
d   e   f
g   h   i

最佳答案

同样的问题。这是权限问题。

来自 php 的 shell exec:

'mysql --user=root --password=zxc db < /stuff.sql'

stuff.sql

LOAD DATA LOCAL INFILE '/stuff.csv' INTO TABLE `stuff` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'

错误的数据包格式错误。

解决方案:

chmod 777 /stuff.csv

PHP 在其自己的权限级别上运行,而 mysql 未获得对 stuff.csv 的读取权限

如果你讨厌 chmod 777

,你会得到一个 cookie

关于php - MySQL LOAD DATA LOCAL INFILE 期间出现格式错误的数据包错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2420140/

相关文章:

php - 测量 PHP 性能

php - 为什么 CakePHP 在我的 xml 布局之前插入一个空格?

javascript - 在现有的ajax代码中添加图像上传功能

mysql - 了解sql查询 'distinct'初学者

php - 如何用一些数学更新 MySQL 表?

mysql - 需要有关连接到数据库 mysql 的支持

php - Wordpress:更改 "older posts"样式而不弄乱主题

找不到 php 命令

c# - 数据库中的值在文本框中不可见,请将值插入到正确的用户名中

php - 使用 php/mysql 在数据库中保存文件 mime 类型