使用 PHP/MySQL 导入 CSV 数据
将 CSV 文件中的数据导入 MySQL 数据库是一项常见任务,可以通过多种方法来实现。一种流行的方法是使用 PHP 处理数据并将其插入数据库。
文本显示为 0
在提供的代码中,文本数据的问题在数据库中显示为 0 可能源于使用 $import 变量的 mysql_query 语句。确保 $data 数组中的 $data[0] 元素确实包含应插入“text”列中的文本值。仔细检查 CSV 文件的格式是否具有正确的值和列分隔符。
引号内的数据
引号内的数据通常是结果字段周围有双引号字符的 CSV 文件。要处理此问题,请在 LOAD DATA INFILE 查询中声明 FIELDS TERMINATED BY 和 OPTIONALLY ENCLOSED BY 子句,以指定字段分隔符和封闭字符。
忽略 CSV 的第一行
要跳过 CSV 文件的第一行(例如标题),可以修改 LINES TERMINATED BY 子句来实现此目的。例如,LINES TERMINATED BY 'n' ESCAPED BY '\n' IGNORE 1 LINES 将跳过 CSV 文件的第一行。
数据格式转换
数据格式通常在导入过程中保留。但是,某些数据类型可能会出现精度问题。例如,如果 CSV 文件包含浮点数,并且目标列定义为整数类型,则它们可能会在数据库中转换为整数。为了避免这种情况,请确保数据库中的列数据类型与 CSV 文件中的预期数据类型匹配。
超过最大执行时间
错误“致命错误” : 超出最大执行时间 30 秒”表示 PHP 脚本超出了 PHP 配置规定的最大执行时间限制。要解决此问题,可以通过修改 PHP 配置文件(例如 php.ini)中的 max_execution_time 指令来增加执行时间限制。或者,考虑使用前面描述的 MySQL LOAD DATA INFILE 方法,该方法可以更快地执行导入,而不会涉及 PHP 脚本执行时间限制。
以上是如何使用PHP有效地将CSV数据导入MySQL,解决数据类型不匹配、执行时间限制等常见问题?的详细内容。更多信息请关注PHP中文网其他相关文章!