Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL加载文件用零/空值填充表_Php_Sql_Wordpress_Mariadb - Fatal编程技术网

Php SQL加载文件用零/空值填充表

Php SQL加载文件用零/空值填充表,php,sql,wordpress,mariadb,Php,Sql,Wordpress,Mariadb,所以,我在用PHP和Wordpress将我的CSV加载到SQL数据库时遇到了一个问题。两者都在本地atm上运行 这是我加载CSV文件的代码。它首先通过html表单将其上传到某个临时文件夹(数据),然后尝试使用LOAD data将内容复制到表中(wp_data) 我做错了什么?我是PHP新手,在这一点上陷入了困境 :( Thx.通过将查询中的编码设置为字符集UTF8来修复它,如下所示: LOAD DATA INFILE '$target_file' INTO TABLE wp_data CHAR

所以,我在用PHP和Wordpress将我的CSV加载到SQL数据库时遇到了一个问题。两者都在本地atm上运行

这是我加载CSV文件的代码。它首先通过html表单将其上传到某个临时文件夹(数据),然后尝试使用
LOAD data
将内容复制到表中(
wp_data

我做错了什么?我是PHP新手,在这一点上陷入了困境 :(


Thx.

通过将查询中的编码设置为
字符集UTF8
来修复它,如下所示:

LOAD DATA INFILE '$target_file'
INTO TABLE wp_data 
CHARACTER SET UTF8 
FIELDS TERMINATED BY ';'
IGNORE 1 ROWS;

显示表格结构?
show CREATE table wp_data
the question with the information?并在此处编写文件编码……看起来您有一个UCS-2编码的文件,所有字符都是2字节的,没有正确处理。PHP有一个函数,如果您使用
file_get_co读取上传的文件,可以使用该函数entents()
notepad++或任何像样的编辑器都应该能够告诉您编码方式。否则,请询问文件源(该文件是如何创建的?由谁创建的?)。同时添加到@LarsStegelitz comment中。。PHP MySQL的客户端默认使用
latin1
charset。。例如,您可能还需要使用
mysqli\u set\u charset()
将其设置为正确的编码
CREATE TABLE `wp_data` (
 `Unix_time` int(11) NOT NULL,
 `Message` text NOT NULL,
 `Time` float NOT NULL,
 `DF` int(11) NOT NULL,
 `Type_code/BDS_number` int(11) NOT NULL,
 `Latitude` double NOT NULL,
 `Longitude` double NOT NULL,
 `Altitude` int(11) NOT NULL,
 `Ground_speed` double NOT NULL,
 `Baro_diff` int(11) NOT NULL,
 `Heading` int(11) NOT NULL,
 `TAS` int(11) NOT NULL,
 `Mach` float NOT NULL,
 `FOM_SOURCE` varchar(40) DEFAULT NULL,
 `Wind_speed` varchar(40) DEFAULT NULL,
 `Wind_direction` varchar(40) DEFAULT NULL,
 `Temperture` text,
 `Pressure` varchar(40) DEFAULT NULL,
 `Turbulence` varchar(40) DEFAULT NULL,
 `Humidity` varchar(40) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
LOAD DATA INFILE '$target_file'
INTO TABLE wp_data 
CHARACTER SET UTF8 
FIELDS TERMINATED BY ';'
IGNORE 1 ROWS;