Fruitgum
Erfahrenes Mitglied
Hallo Leute,
in meinem CSV Import Script muss ein Fehler vorliegen den ich nicht verstehe.
Es funkioniert mit einer Mysql version 5.0.45 aber soll auf einen Server mit der Version 5.0.23 laufen, doch dort sagt er mir, das er einige Befehle nicht ausführen kann und es an der Version von Mysql liegt?
Was kann ich tun?
Hier einmal mein kompletter Code:
Upload: CSV DATEI
Mit dem Formular gebe ich an die Upload.php weiter und lade ich die CSV auf den Server.
Hat alles geklappt, kommt diese:
dann wird sie in die Datenbank eingetragen mit dieser:
Also bei einer Mysqlversion 5.0.23 geht es nicht?
Weiß einer weiter?
LG, Fruit
in meinem CSV Import Script muss ein Fehler vorliegen den ich nicht verstehe.
Es funkioniert mit einer Mysql version 5.0.45 aber soll auf einen Server mit der Version 5.0.23 laufen, doch dort sagt er mir, das er einige Befehle nicht ausführen kann und es an der Version von Mysql liegt?
Was kann ich tun?
Hier einmal mein kompletter Code:
Upload: CSV DATEI
PHP:
<?php
if (isset($_FILES["datei"])) {
if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {
$regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";
if (preg_match($regExp,$_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 10000000) {
if(move_uploaded_file($_FILES["datei"]["tmp_name"],"csv/".$_FILES["datei"]["name"])) {
include("header.php");
} else {
echo "Fehler: Datei konnte nicht kopiert werden!";
}
} else {
echo "Fehler: Im Dateinamen oder Dateigrössen Limit!";
}
} else {
echo "Fehler: Während der Übertragung aufgetreten!";
}
} else {
echo "Fehler: Dateiupload fehlgeschlagen!";
}
?>
Mit dem Formular gebe ich an die Upload.php weiter und lade ich die CSV auf den Server.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>CSV-Datei Hochladen</title>
<link href="sense.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<div id="seite">
<div id="admin">
<p> </p>
<p> </p>
<p> </p>
<p><font face="Arial, Helvetica, sans-serif" size="6">CSV-Import </font></p>
<form method="post" action="upload.php" enctype="multipart/form-data">
<p> </p>
<p>Datei:
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="file" name="datei" size="50" maxlength="100000">
</p>
<p> </p>
<p>
<input type="submit" name="Submit" value="Senden">
</p>
</form>
<p>
<?php
// Dateiinformationen (Ausgabe über Schleife)
if (isset($_FILES["datei"])) {
foreach ($_FILES["datei"] as $key=>$element) {
echo "[$key] => $element<br>";
}
}
?>
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>© ® </p>
</div>
</div>
</center>
</body>
</html>
Hat alles geklappt, kommt diese:
PHP:
<html>
<head>
<title>Dateiupload – Erfolgreich</title>
<link href="sense.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {font-size: x-small}
-->
</style>
</head>
<body>
<center>
<div id="seite">
<div id="admin">
<p> </p>
<p> </p>
<p> </p>
<p><font face="Arial, Helvetica, sans-serif" size="6">Datei erfolgreich Hochgeladen!</font></p>
<p> </p>
<p> </p>
<p><font face="Arial, Helvetica, sans-serif"><a href="eintragen.php?file=<?php echo $_FILES["datei"]["name"]; ?>">[ CSV-Datei jetzt in die Datenbank schreiben ]</a></font></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p class="style1">© ® </p>
</div>
</div>
</center>
</body>
</html>
dann wird sie in die Datenbank eingetragen mit dieser:
PHP:
<link href="sense.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {font-size: x-small}
-->
</style>
<center>
<div id="seite">
<div id="admin">
<?php
include "config_sense.php";
mysql_connect($db_Hostname[$select_db], $db_UserName[$select_db], $db_Password[$select_db]) ||
die("Keine Verbindung zur Datenbank möglich: ".mysql_error());
mysql_select_db($db_Database[$select_db]);
$sql2 = 'LOAD DATA LOCAL INFILE \'csv/'.$_GET["file"].'\'
REPLACE INTO TABLE `tx_cal_event`
FIELDS TERMINATED BY \';\'
ENCLOSED BY \'"\'
ESCAPED BY \'\\\\\'
LINES TERMINATED BY \'\\r\\n\'';
$result = mysql_query($sql2);
echo mysql_error();
# echo "<br><br><center>Einräge wurden hinzugefügt bzw. ersetzt: ".$result."</center>";
foreach (glob("csv/*.csv") as $filename) {
unlink($filename);
}
echo "<br><br><center>".$_GET["file"]." wurde gelöscht</center>";
echo "<br>";
# http://www.senseproduction.de
?>
<p><font face="Arial, Helvetica, sans-serif"><a href="import.php">[ Zurück ]</a></font></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p class="style1">© ® </p>
</div>
</div>
</center>
Also bei einer Mysqlversion 5.0.23 geht es nicht?
Weiß einer weiter?
LG, Fruit