【问题标题】:Cannot put CSV file into database PHP无法将 CSV 文件放入数据库 PHP
【发布时间】:2016-08-14 10:49:43
【问题描述】:

我编写了以下 PHP 代码来将 CSV 文件加载到数据库中。但是查询没有执行。

<?php
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(mysqli_select_db($conn,"test"))
{
    printf("Success");
}

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "LOAD DATA INFILE 'output.csv' INTO TABLE new COLUMNS TERMINATED BY ','  ENCLOSED BY '\"\' ESCAPED BY '\"\' " ;
printf($query);

if(mysqli_query($conn,$query))
{
printf("query executed");
}

mysqli_close($conn);
?>

请告诉我是什么问题。提前致谢。

【问题讨论】:

  • 请告诉我们错误是什么。如果你没有得到一个,可能是因为你没有打开错误报告,所以先修复它。此查询是否在 PHP 之外正常运行?
  • 文件 output.csv 在哪里?在服务器或客户端主机上?
  • @tadman 当我在 mysql 上运行查询时,它运行正常。
  • @Max P. output.csv 文件存在于 xampp 中 mysql 的测试文件夹中
  • 也许你的连接失败了,但由于你不检查错误,你告诉 PHP 你真的不在乎,它只是按照它说的做。您可以通过打开异常来解决此问题。

标签: php mysql database csv


【解决方案1】:

我感觉这是由于从常规文本到 PHP 字符串的错误转换:

ENCLOSED BY '\"\' ESCAPED BY '\"\'

这应该是:

ENCLOSED BY '\"' ESCAPED BY '\"'

查询本身无效。你应该得到一个错误返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多