-1
私は、MySQLiオブジェクト指向を使用してCSVファイルをMySqlにアップロードするための簡単なフォームを作成しようとしています。 DBへの接続はうまく動作しますが、何らかの理由で私がまだ理解していないのに、CSVファイルからDBにデータを挿入しません。MySqlにCSVファイルをアップロード
$servername = "localhost";
$username = "user_name";
$password = "password";
$dbname = "db_name";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_POST["submit"])) {
if($_FILES['file']['name']) {
$filename = explode(".", $_FILES['file']['name']);
if ($filename[1] == 'csv') {
$handle = fopen($_FILES['file']['tmp_name'], "r");
while($data = fgetcsv($handle)) {
$user_id = mysqli_real_escape_string($conn, $data[1]);
$name = mysqli_real_escape_string($conn, $data[2]);
$last_mod = mysqli_real_escape_string($conn, $data[3]);
$sql="INSERT into user (user_id, name, last_mod) VALUES ('$user_id', '$name', '$last_mod')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
}
$conn->close();
}
}
}
<form action="index.php" method="POST" enctype="multipart/form-data" name="beer">
<div class="form-group">
<label for="file">Select your file:</label>
<input name="file" type="file">
</div>
<div class="checkbox">
<label><input type="checkbox">I agree!</label>
</div>
<button type="submit" class="btn btn-default">Upload</button>
</form>
私は何か不足しているかもしれませんが、どこで '$ row'を設定していますか? – andrewsi
@andrewsi ...古いバージョンでしたが残念ですが、私はそれを "データ"に変更しました – user3767773
LOAD DATA INFILEの何が問題なのですか? – e4c5