如何使用PHP CodeIgniter将CSV数据导入MYSQL数据库?
嗨,我已经看到了整个堆栈,但找不到任何适合我的问题的答案。答案是如何读取csv格式,而不是导入MYSQL数据库 我有一个上传控制器,可以将我的文件上传到我的服务器上。现在我希望上传的文件被导入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
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文件,并且该文件已经上载到某个已知层次结构中的
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作业或什么?这家伙毕竟是管理员,但你想要一个可爱的界面