Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 CodeIgniter将CSV数据导入MYSQL数据库?_Mysql_Codeigniter_Csv_Mysqlimport_Import From Csv - Fatal编程技术网

如何使用PHP CodeIgniter将CSV数据导入MYSQL数据库?

如何使用PHP CodeIgniter将CSV数据导入MYSQL数据库?,mysql,codeigniter,csv,mysqlimport,import-from-csv,Mysql,Codeigniter,Csv,Mysqlimport,Import From Csv,嗨,我已经看到了整个堆栈,但找不到任何适合我的问题的答案。答案是如何读取csv格式,而不是导入MYSQL数据库 我有一个上传控制器,可以将我的文件上传到我的服务器上。现在我希望上传的文件被导入MYSQL数据库。请帮帮我 控制器文件: public function upload_it() { //load the helper $this->load->helper('form'); //Configure //set the path where

嗨,我已经看到了整个堆栈,但找不到任何适合我的问题的答案。答案是如何读取csv格式,而不是导入MYSQL数据库

我有一个上传控制器,可以将我的文件上传到我的服务器上。现在我希望上传的文件被导入MYSQL数据库。请帮帮我

控制器文件:

public function upload_it() {
    //load the helper
    $this->load->helper('form');

    //Configure
    //set the path where the files uploaded will be copied. NOTE if using linux, set the folder to permission 777
    $config['upload_path'] = 'application/views/uploads/';

// set the filter image types
    $config['allowed_types'] = 'gif|csv';

    //load the upload library
    $this->load->library('upload', $config);

$this->upload->initialize($config);

$this->upload->set_allowed_types('*');

    $data['upload_data'] = '';

    //if not successful, set the error message
    if (!$this->upload->do_upload('userfile')) 
    {
        $data = array('msg' => $this->upload->display_errors());

    } 
    else
    { 

            //else, set the success message
            $data = array('msg' => "Upload success!");

            $data['upload_data'] = $this->upload->data();   

            if($_POST)
            {
                 if (($_FILES[csv][size] > 0 ) && ( $_FILES[csv][type]=="text/csv") ) 
                {
                        //get the csv file 
                        $file = $_FILES[csv][tmp_name]; 
                        $filetype=$_FILES[csv][type];
                        $handle = fopen($file, "r");
                        $i = 0;
                        $temp=str_getcsv($handle,"\n");
                        error_log("===$temp==");


                        $data = $this->user_m->('sip_id', 'sip_pass', 'name', 'key', 'email', 'password', 'phone', 'status', 'created', 'balance');


                        //Dont Know what to do next. 



                }

            }










    }

    //load the view/upload.php
    $this->load->view('admin/user/upload', $data);

}
现在我认为应该创建一个模型来导入这个上传的文件。但是我不知道怎么做

编辑: 我知道如何在php中实现与mysql的连接:

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

// Create connection 
$conn = new mysqli($servername, $username, $password); 

// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 
?>

好的,正如您通过聊天告诉我的,您可以通过exec调用php文件,而CI原始sql对您来说是新的(相信我,我根本不知道CI

并且正如您已经声明的,文件名将被称为,我们称之为具有表单的PHP文件,并且该文件已经上载到某个已知层次结构中的VIEW/COD>文件夹,然后考虑以下字符串:

LOAD DATA INFILE '/full/path/to/view/myfile.txt' 
INTO TABLE users  
    FIELDS TERMINATED BY ',' 
           OPTIONALLY ENCLOSED BY '"'
    LINES  TERMINATED BY '\n'
是的,这将是php中的一个大字符串。因此,它将类似于任何其他字符串,如select语句。在您连接到
mysqli
(正如您向我展示的,我编辑了问题)之后,然后执行它

如果进入PHP
$\u POST
的文件名需要连接到上面的蓝色块中,则需要这样做。文件名后面的那句话很关键,相信我


的手册页中,您指的是阅读而不是导入?你的意思是你没有发现任何可以读取csv并将数据导入表中的内容?@Drew See我看到一个答案,显示了csv的内容。但我希望当我上传文件时,数据会被动态导入数据库,就像照片导入一样,上传,我的意思是,然后是import@Drew我上传到服务器,然后我希望csv数据在我的数据库。看我有用户表,所以我想管理员可以导入到mysql的csv数据,并可以创建多个用户在同一时间,它肯定需要一个上传开始,因为它比他更容易,比如说,只是运行一个cron作业或什么?这家伙毕竟是管理员,但你想要一个可爱的界面