質問編集履歴

2

ご指定の文を追記したコードに更新いたしました。

2021/05/04 02:22

投稿

Yt6623
Yt6623

スコア4

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  <?php
16
16
 
17
-
17
+ error_reporting(E_ALL);
18
18
 
19
19
  $conn = mysqli_connect("localhost","InstaSys_user","","csv");
20
20
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  $sqlInsert = "Insert into users values ('" . $column[0] . "','" . $column[1] . "')";
38
38
 
39
-
39
+ error_reporting(E_ALL);
40
40
 
41
41
  $result = mysqli_query($conn, $sqlInsert);
42
42
 
@@ -49,6 +49,8 @@
49
49
  }else{
50
50
 
51
51
  echo "Problem in importing CSV";
52
+
53
+ var_export(mysqli_error($conn));exit;
52
54
 
53
55
  }
54
56
 

1

海外のサイトを参考に作成しました。本来CSVファイルは別システムから受け取る(か、別ファイルが保存したフォルダへ取りに行くか)ですが、今回は建前上フォームから渡すような形になっています。

2021/05/04 02:22

投稿

Yt6623
Yt6623

スコア4

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,83 @@
7
7
  PHPを用いて行うと良い、というところまでわかりましたがその後どのようにしたらよいか不明です。
8
8
 
9
9
  ざっくりとした質問で申し訳ございません。どなたか助けていただきたく。
10
+
11
+
12
+
13
+ ```PHP
14
+
15
+ <?php
16
+
17
+
18
+
19
+ $conn = mysqli_connect("localhost","InstaSys_user","","csv");
20
+
21
+
22
+
23
+ if(isset($_POST["import"])){
24
+
25
+ $fileName = $_FILES["file"]["tmp_name"];
26
+
27
+
28
+
29
+ if($_FILES["file"]["size"]>0){
30
+
31
+ $file = fopen($fileName, "r");
32
+
33
+
34
+
35
+ while(($column = fgetcsv($file, 10000, ",")) !== FALSE){
36
+
37
+ $sqlInsert = "Insert into users values ('" . $column[0] . "','" . $column[1] . "')";
38
+
39
+
40
+
41
+ $result = mysqli_query($conn, $sqlInsert);
42
+
43
+
44
+
45
+ if(!empty($result)){
46
+
47
+ echo "CSV Data Imported into the database";
48
+
49
+ }else{
50
+
51
+ echo "Problem in importing CSV";
52
+
53
+ }
54
+
55
+ }
56
+
57
+ }
58
+
59
+ }
60
+
61
+
62
+
63
+ ?>
64
+
65
+
66
+
67
+ <form class="form-horizoontal" action="" method="post" name="uploadCsv" enctype="multipart/form-data">
68
+
69
+
70
+
71
+ <div>
72
+
73
+ <label>Choose CSV File</label>
74
+
75
+ <input type="file" name="file" accept=".csv">
76
+
77
+ <button type="submit" name="import">Import</button>
78
+
79
+
80
+
81
+
82
+
83
+ </div>
84
+
85
+
86
+
87
+ </form>
88
+
89
+ ```