php如何读取CSV大文件并且将其导入数据库示例思路:
读取csv文件,每读取一行数据,就插入数据库
示例
文件夹结构
/
file.csv//csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较?。?解析很快 , 运行效率的瓶颈主要在写入数据库操作)
index.php//php文件
file.csv
singi,20
lily,19
daming,23
index.php
/**
* 读取csv文件 , 每读取一行数据,就插入数据库
*/
//获取数据库实例
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = '';
try {
$db = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e-getMessage();
}
//读取file.csv文件
if (($handle = fopen("file.csv", "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
//写入数据库
$sth = $db-prepare('insert into test set name=:name,age=:age');
$sth-bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth-bindParam(':age',$row[1],PDO::PARAM_INT);
$sth-execute();
}
fclose($handle);
}
数据表
CREATE TABLE `test` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL DEFAULT '' COLLATE 'utf8mb4_bin',
`age` INT(10) NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
运行结束后,数据库中会插入csv中的三行数据
PHP如何对CSV大文件进行读取并导入数据库fgetcsv 可以读取fopen打开csvphp做数据库的文件csvphp做数据库,并读取一行csvphp做数据库,
这样可以防止文件太大而内存溢出
然后每读取一定行数csvphp做数据库,入库一次,
php点击按钮上传csv文件,存入mysql数据库代码怎么写?php
$data=https://www.04ip.com/post/file("data.csv");
$j=count($data);
【csvphp做数据库 csv php】for($i=2;$i$j;$i++){
$val="'".str_replace(",","','",trim($data[$i]))."'";
$sql="insert into tab values(".$val.")";
mysql_query($sql,$mylink);
}
?//最简单csvphp做数据库的形式]
//csvphp做数据库我不了解csv 现在给csvphp做数据库你改下
?php
$fp=fopen("a.csv","r");
while(! feof($fp)){
$data=https://www.04ip.com/post/fgetcsv($fp);
if(!is_array($data))
continue;
$sql=$p="";
foreach($data as $val){
$sql.=$p."'".$val."'";
$p=",";
}
$sql="insert into tab values(".$sql.")";
echo $sql;
//mysql_query($sql,$mylink);
}
fclose($fp);
?
关于csvphp做数据库和csv php的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 视频播放失败什么问题,视频播放失败怎么回事
- 傲腾cpu是什么,傲腾 amd
- erp系统的扩展开发,erp系统的扩展开发过程
- 城南网红直播,城南fcvs
- php读取数据库并排序 php读取数据表内容
- 客户营销动态如何写进简历,客户营销岗位
- 三个女仆安卓游戏,三个女仆安卓游戏
- mysql如何获取登录名,mysql登陆记录 查询
- go语言各种框架 go语言restful框架