首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MySql代码导入CSV文件

使用MySql代码导入CSV文件
EN

Stack Overflow用户
提问于 2016-10-05 16:13:11
回答 4查看 643关注 0票数 1

我必须使用PHP代码在MySql数据库的表中导入CSV文件。CSV文件如下所示:

"2016-09-02","100.01","4005.09","5000","1.09","120.09","100.5","200.77“"2016-09-03","150.01","4205.09","5600","1.10","150.09","300.5","300.77”

文件权限为755。

表字段为9(包括id字段):第一个是日期时间字段,其他是浮点型字段。我使用的代码如下,它将在服务器站点上运行:

代码语言:javascript
复制
$csvFile = "../scripts/tabella.csv";

$db = @mysql_connect('**.***.**.***', 'Sql******', '*******');
@mysql_select_db('Sql******_*');

$query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' INTO TABLE mytable FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\' ';

if(!mysql_query($query)){
    die(mysql_error());
}
mysql_close($db);

从mysql_error返回第一个错误:“找不到文件”。CSV文件位于'www.mysite.it/mysite/scripts/tabella.CSV‘。其权限为755。我尝试使用realpath($csvFile)函数,但错误总是相同的。

我尝试在localhost中运行相同的查询,没有这个错误,但是只有一条记录被插入到表中,并且它的fild值为NULL。

你能帮帮我吗?谢谢!

EN

回答 4

Stack Overflow用户

发布于 2016-10-05 16:24:13

使用mysql_error获取错误

代码语言:javascript
复制
 if(!mysql_query($query)){
      die(mysql_error());

 }
票数 0
EN

Stack Overflow用户

发布于 2016-10-05 16:24:33

试试下面的代码..

代码语言:javascript
复制
$csvFile = "../scripts/tabella.csv";

//The Connection
$mysqli = new mysqli($host,$username,$password,$database);

//Check for successful connection
if ($mysqli->connect_errno) echo "Error - Failed to connect to MySQL: " . $mysqli->connect_error; die;

$query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' INTO TABLE mytable FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\' ';
//Do your query
$result = mysqli_query($mysqli,$query);

//Close the connection
mysqli_close($mysqli);
票数 0
EN

Stack Overflow用户

发布于 2016-10-05 20:47:36

尝试这个简单的方法来导入您的CSV数据到Mysql database.The是一个file元素名称,以browse您的文件路径。

代码语言:javascript
复制
if(isset($_POST["submit"]))
{
    $file = $_FILES['file']['tmp_name'];
    $handle = fopen($file, "r");
    $c = 0;
    while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
    {
        $name= $filesop[0];

        $sql = mysql_query("INSERT INTO tab(name) VALUES ('$name')");
        $c = $c + 1;
    }

    if($sql){
        echo "You database has imported successfully. You have inserted ". $c ." recoreds";
    }else{
        echo "Sorry! There is some problem.";
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39868675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档