Hallo,
ich versuche seit einer Woche per php eine csv in mysql zu importieren - phpmyadmin hat dabei nie funktioniert - immer war irgendwas und musste händisch an der Tabelle nachgearbeitet werden.
Aus den Recherchen habe ich bisher folgendes Script - das auslesen funktioniert auch aber irgendwie klappt der Import nicht:
Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Aber die Parameter sind richtig - auch die DB existiert - alles copy and paste! Nur komme ich nicht auf den Fehler!?
ich versuche seit einer Woche per php eine csv in mysql zu importieren - phpmyadmin hat dabei nie funktioniert - immer war irgendwas und musste händisch an der Tabelle nachgearbeitet werden.
Aus den Recherchen habe ich bisher folgendes Script - das auslesen funktioniert auch aber irgendwie klappt der Import nicht:
Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Aber die Parameter sind richtig - auch die DB existiert - alles copy and paste! Nur komme ich nicht auf den Fehler!?
PHP-Code:
<?php
$fp = fopen("test.csv", "r");
$zeilen = array();
while( !feof($fp) ) {
$zeilen[] = fgetcsv ( $fp , 4096 , ";");
}
//Datenbankverbindung besteht
define("Shop", 0);
define("ProductId", 1);
define("ProgramId", 2);
define("MerchantProductNumber", 3);
define("ProductName", 4);
define("ProductPrice", 5);
define("ProductLongDescription", 6);
define("Status", 7);
define("MerchantProductCategory", 8);
define("ZanoxProductCategory", 9);
define("ImageSmallURL", 10);
define("ImageMediumURL", 11);
define("ProductManufacturerBrand", 12);
define("ZanoxProductLink", 13);
define("ZanoxProductCategoryNumber", 14);
define("MerchantProductCategoryNumber", 15);
define("DeliveryTime", 16);
define("TermsOfContract", 17);
define("ProductEAN", 18);
include('../inc/mysql.inc.php');
$db = mysql_connect($sql['host'],$sql['uid'],$sql['psw']);
mysql_select_db($sql['db'], $db);
$query = "INSERT INTO dtg_shop (Shop, ProductId, ProgramId, MerchantProductNumber, ProductName, ProductPrice,
ProductLongDescription, Status, MerchantProductCategory, ZanoxProductCategory, ImageSmallURL, ImageMediumURL,
ProductManufacturerBrand, ZanoxProductLink, ZanoxProductCategoryNumber, MerchantProductCategoryNumber,
DeliveryTime, TermsOfContract, ProductEAN) VALUES ";
while( !feof($fp) ) {
$zeile = fgetcsv ( $fp , 4096 , ";" );
$query = $query ."( '".$zeile[Shop]."', '".$zeile[ProductId]."', '".$zeile[ProgramId]."', '".$zeile[MerchantProductNumber]."', '".$zeile[ProductName]."', '".$zeile[ProductPrice]."', '".$zeile[ProductLongDescription]."', '".$zeile[Status]."', '".$zeile[MerchantProductCategory]."', '".$zeile[ZanoxProductCategory]."', '".$zeile[ImageSmallURL]."', '".$zeile[ImageMediumURL]."', '".$zeile[ProductManufacturerBrand]."', '".$zeile[ZanoxProductLink]."', '".$zeile[ZanoxProductCategoryNumber]."', '".$zeile[MerchantProductCategoryNumber]."', '".$zeile[DeliveryTime]."', '".$zeile[TermsOfContract]."', '".$zeile[ProductEAN]."')";}
echo $query;
$query = substr($query, 0, -1);mysql_unbuffered_query($query) or die(mysql_error());
?>
Kommentar