您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> MYSQL >> CSV文件导入mysql php导入csv文件内容到数据库

CSV文件导入mysql php导入csv文件内容到数据库

来源:网络整理     时间:2016/8/29 1:29:07     关键词:CSV文件导入mysql

关于网友提出的“CSV文件导入mysql php导入csv文件内容到数据库”问题疑问,本网通过在网上对“CSV文件导入mysql php导入csv文件内容到数据库”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:CSV文件导入mysql php导入csv文件内容到数据库
描述:

现在需要将csv文件里的所有内容读取并插入到数据库


解决方案1:

$file = fopen('xxx.csv', 'r');
while($data = fgetcsv($file)) {
    $result [] = $data;
} 
//$result数组就是CVS的内容啦,把$result存到数据库就好。
fclose($file);
解决方案2:

你参考phpexcel这个类库看看

解决方案3:

先用fgetcsv把CSV文件转成一个数组,然后开启事务,循环插入,代码示例如下:

query('SET AUTOCOMMIT=0');
$db->query('START TRANSACTION');
foreach($arr as $row) {
    $stmt = $db->prepare('INSERT INTO posts (id, post_title, post_content) VALUES (?,?,?)');
    $stmt->bind_param('iss', $row[0], $row[1], $row[2]); //这里假设每行内容分别为ID,标题和内容
    $stmt->execute();
    //如果插入失败,改为更新
    if($stmt->affected_rows == 0 || $stmt->affected_rows == -1) {
        $stmt = $db->prepare('UPDATE posts SET post_title = ?, post_content = ? WHERE id = ?');
        $stmt->bind_param('ssi', $row[1], $row[2], $row[0]);
        $stmt->execute();
        if($stmt->affected_rows == 0 || $stmt->affected_rows == -1) {
            echo 'Import '.$row[0].' failed!'."\n";
        }
    }
}
$db->query('COMMIT'); //失败的操作已经echo输出来了,不需要回滚ROLLBACK
$db->query('SET AUTOCOMMIT=1');

以上介绍了“CSV文件导入mysql php导入csv文件内容到数据库”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3647068.html

CSV文件导入mysql相关图片

CSV文件导入mysql相关文章