我正在尝试使用表单将CSV文件导入数据库。我已经尝试过LOAD DATA INFILE
和INSERT INTO
语句。两者似乎都可以工作,但是数据库没有收到任何新数据。
index.php(PHP代码)
<?php
include("header.php");
include("connect.php");
if (isset($_POST['submit'])) {
$filename = $_FILES["file"]["tmp_name"];
if ($_FILES["file"]["size"] > 0) {
if (($handle = fopen($filename, "r")) !== FALSE) {
while (($getData = fgetcsv($handle, 4000, ";")) !== FALSE) {
/* $query = "LOAD DATA INFILE '".$filename."'
INTO TABLE Telefonliste
FIELDS TERMINATED BY ';'
ESCAPED BY '\'
LINES TERMINATED BY '\n'
IGNORE 1 LINES"; */
$query = "INSERT INTO 'Telefonliste' ('Typ','Datum','Name','Rufnummer','Nebenstelle','Eigene Rufnummer','Dauer') VALUES ('" . $getData[0] . "','" . $getData[1] . "','" . $getData[2] . "','" . $getData[3] . "','" . $getData[4] . "','" . $getData[5] . "','" . $getData[6] . "')";
$result = mysqli_query($link, $query);
}
print_r($result);
if (!isset($result)) {
echo "Invalid File:Please Upload CSV File.";
} else {
echo "CSV File has been successfully Imported.";
}
fclose($handle);
}
}
}
?>
index.php(HTML代码)
<header>
<h1>Adminbereich</h1>
<form action="telefonliste.php">
<button id="logout" value="Log Out">Log Out</button>
</form>
</header>
<div class="container">
<section id="csvUp">
<form method="post" enctype='multipart/form-data'>
CSV Hochladen: <input type="file" name="file" id="file">
<input name="submit" value="importieren" type="submit">
</form>
</section>
</div>
<script type="text/javascript">
</script>
connect.php:
<?php
$link = mysqli_connect("localhost", "root", "root", "Telefon");
if(mysqli_connect_error()) {
echo "Verbindung zum Server fehlgeschlagen";
} /*else { echo "Verbindung zum Server steht"; }*/ ?>
telefonliste.csv:
这些是第400行中的前3行。由于隐私权政策的缘故,姓名和电话号码被替换了。
Typ;Datum;Name;Rufnummer;Nebenstelle;Eigene Rufnummer;Dauer
4;03.09.18 10:43;Firstname Lastname;0022245561;Mobilteil 1;Internet: 789456123;0:29
1;03.09.18 10:41;Replacment Names;02088885552;Mobilteil 1;Internet: 12024561234;0:02
1;03.09.18 10:35;Summer Roswitha;0201234578;Mobilteil 1;Internet: 020154815632;0:01
页面回显“ CSV文件已成功导入。” ,但不打印$result
。所以我真的不知道发生了什么。我尝试过的任何解决方案和解决方案都没有相同的输出。
“ connection.php” 连接到服务器,并且工作正常。我能够获取表数据并将其放入表中。只是无法真正上传它。我还已经通过phpmyadmin使用“使用加载数据的csv” 上传了CSV文件,只有csv无法正常工作。
在“ header.php” 中,我包含了 jQuery , jQuery UI 和 Bootstrap 的链接。 / p>
感谢您的帮助。