【问题标题】:insert data from a csv file into sql server database using php使用php将csv文件中的数据插入sql server数据库
【发布时间】:2016-08-10 06:40:18
【问题描述】:

虽然我的文件名和位置设置正确,但插入时出现错误。有什么解决方案吗? 在此先感谢...这是我的代码:

// path where your CSV file is located
define('CSV_PATH','C:\xampp\htdocs\form');

// Name of your CSV file
$csv_file = CSV_PATH . "test.csv"; 


if (($handle = fopen($csv_file, "r")) !== FALSE) {
   fgetcsv($handle);   
   while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        for ($c=0; $c < $num; $c++) {
          $col[$c] = $data[$c];
        }

 $col1 = $col[0];
 $col2 = $col[1];
 $col3 = $col[2];

 $query = "INSERT INTO csvTable(ID,Name,city) VALUES ('".$col1."','".$col2."','".$col3."')";
 $params = array();
 $options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
 $stmt = sqlsrv_query($conn, $query, $params, $options ); 
 }
    fclose($handle);
 }

echo "File data successfully imported to database!!";
//mysql_close($connect);
?>

错误消息:警告:fopen(C:\xampp\htdocs\formtest.csv): failed to 打开流:中没有这样的文件或目录 C:\xampp\htdocs\form\upload.php 第 15 行

【问题讨论】:

  • 也许您错过了 CSV 文件名前的反斜杠? $csv_file = CSV_PATH . "\test.csv";
  • 没错。您可以按照以下清单快速找到此类问题的原因:stackoverflow.com/questions/36577020/…

标签: php sql-server-2012


【解决方案1】:

在定义值Form之后添加反斜杠('\')

define('CSV_PATH','C:\xampp\htdocs\form');

改为

define('CSV_PATH','C:\xampp\htdocs\form\');

在您的 CSV 文件名前添加反斜杠('\')

// Name of your CSV file
$csv_file = CSV_PATH . "test.csv"; 

改为

$csv_file = CSV_PATH . "\test.csv"; 

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-11
  • 1970-01-01
  • 2019-11-22
  • 2012-01-31
相关资源
最近更新 更多