Magento Forum

Page 1 of 2
[SOLVED] HILFE!!! Fehler: SQLSTATE[42000]: Syntax error or access violation: 1064 API product create
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 

Hallo Community,

Wenn ich versuche ein Produkt über die Api hinzuzufügen, bekomm ich folgenden Fehler:

FehlerSQLSTATE[42000]Syntax error or access violation1064 You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near... at line 1.

Hab Magento schon neuinstalliert (1.3 wie vorher) und die Datenbank gelöscht… Nichts…

Ich weiß nicht, wo der Fehler sein soll…

Im Forum selbst wurde der Fehler mit 3 Lösungswegen behoben:

1. Deinstallation der Slideshow Extension (hab ich nicht drauf)
2. Rechte checken (sind ok)
3. Fehler in der Datenbank (Sollte beim löschen der DB und neuinstallation von Magento auch behoben sein…

Das Skript an sich ist nicht geändert wurden und lief vorher tadellos…

Weiß jemand Rat?

Gruß Rico

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

das komische ist das ich bei einem hinzufügen eines produktes gar keine DB brauche wink

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 
timste - 06 April 2009 05:32 AM

das komische ist das ich bei einem hinzufügen eines produktes gar keine DB brauche wink

gruss

Ja, ne…

Das ist aber eben der Fehler den der mir ausgibt… Ich sprech die DB ja auch nicht direkt an, sondern über die API…
der Fehler wird durch:

$result$client->call($sess_id'product.create', array($p_type$att_set['set_id']$SKU$newProductData));

ausgelöst.
 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

dann hast du wahrscheinlich dein magento zerschossen, das ist dann aus dem core nehme ich mal an

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 
timste - 06 April 2009 06:05 AM

dann hast du wahrscheinlich dein magento zerschossen, das ist dann aus dem core nehme ich mal an

gruss

Ja, davon bin ich auch mal wieder ausgegangen, aber nach Neuinstallation war das Problem noch nicht behoben…

Soll ich nochma? smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

was hast du denn neu installiert?

alles, also auch die DB oder “nur” magento?
wenn dann alles

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 
timste - 06 April 2009 06:12 AM

was hast du denn neu installiert?

alles, also auch die DB oder “nur” magento?
wenn dann alles

gruss

ja, hab über MySQL Console drop database magento und dann neu create… Magento hab ich bis auf Module und Eigenanpassungen auch gelöscht (über die default gings auch nicht) somit hätte es funktionieren sollen…

Wie sowas nur passieren kann…

Ich versuch es nochmal (mit Customs und Modulen), mal sehen obs dann geht, ich meld mich zurück!

Gruß Rico

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

japp mach mal

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 

Gesagt, getan:

Kategorien ließen sich ohne Probleme importieren, Artikel immernoch nicht, selber Fehler…

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

??

hast du vielleicht mal ein bissl text dazu wink aus deinem script

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 

Der Source:

<?php
//Definitionen
define('NL','<br>');
define('TAB',"\t");
$hostp 'localhost/magento';
$host 'http://'.$hostp.'/index.php/api/soap/?wsdl';
$apiuser'admin';
$apikey '123456';
$time_start time();
$file ='C:\data.xml';
$existing false;

if (!
file_exists($file))
{
    
die(' ==> Datei existiert nicht');
}

// Datei zum einlesen Ã¶ffnen
$sx simplexml_load_file($file);
echo 
"<ul><li> ==> Stelle Verbindung zur Magento API her".NL;

// Soap Verbindung zu Magento herstellen
$client= new SoapClient($host);
try 
{
  $sess_id
$client->login($apiuser$apikey);
  echo 
"<li> ==> Verbindung hergestellt!".NL;
}
catch (Exception $e
{
  
echo "<li> ==> Fehler: ".$e->getMessage();
  exit();
}

//Zähler

/* @var integer ArtikelZähler*/
$i 0;

//Attribut Sets laden
$attributeSets $client->call($sess_id'product_attribute_set.list');
$att_set current($attributeSets);

//Produkttyp festlegen
$p_type = (string)'simple';


//Kategorien einlesen
//@todo Kategorieverarbeitung
$cat_tree $client->call($sess_id'catalog_category.tree');

//Kategorietestausgabe
/*foreach($cat_tree['children'][0]['children'] as $key1 => $cat1)
{
    $k1 = $key1 + 1;
    echo "=> ".$cat1['name']." (".$k1.")".NL;
    foreach($cat_tree['children'][0]['children'][$key1]['children'] as $key2 => $cat2)
    {
        $k2 = $key2 + 1;
        echo "==> ".$cat2['name']." (".$k1."-".$k2.")".NL;
    }
}
exit;
*/


// Bearbeitung
foreach ($sx->Articles->children() as $article)
{
        
// Produkt Timer
        
$a_s microtime(true);
        
        
// Kategoriezuordnung (Kategorien müssen angelegt sein)
        
$tar explode('-',(string)$article->FreeField4);
        
$id1 $cat_tree['children'][0]['children'][$tar[0]-1]['children'][$tar[1]-1];
        
$tar explode('-',(string)$article->FreeField5);
        
$id2 $cat_tree['children'][0]['children'][$tar[0]-1]['children'][$tar[1]-1];
        
        
// Produkt Attribute
        
$SKU = (string)$article->Number;

        
$newProductData = array(
            
'name' => (string)$article->Description,
            
'websites' => array(1),
            
'short_description' => (string)$article->Extension,
            
'description' => (string)$article->LongText,
            
'price' => floatval($article->FreeField8),
            
'store' => intval($article->ShopNumber),
            
'color' => (string)$article->FreeField1,
            
'status' => 1,
            
'weight' => floatval($article->Weight),
            
'tax_class_id' => 1,
            
'category_ids' => array($id1,$id2),
            
'manage_stock' => 1,
            
'qty' => intval($article->Stock),
            
'min_sale_qty' => 1,
            
'max_sale_qty' => intval($article->Stock)        
        );
        
        
/*
        //Produkt Updaten (komplett aukommentieren bei Neuerstellung)
        //@todo Produkt Updaten
        $updateData = array();
        try 
        {            
            $productinfo = $client->call($sess_id, 'product.info', $SKU);
            $existing = true;
            $iChanges = 0;
            foreach($productinfo as $key=>$att)
            {
                if (!$att == @$newProductData[$key])
                {
                    echo "<li><PRE>Artikel ".$SKU." Eigenschaft ".$key." geändert von ".$att." zu ".$newProductData[$key];
                    $updateData[] = array($key => $newProductData[$key]);
                    $iChanges++;
                }
            }
            if ($iChanges > 0)
            {
                $client->call($sess_id, 'product.update', array($SKU, $updateData,$newProductData['store']));
                echo "    =>        Erledigt.</PRE>".NL;
            }
            else
            {
                echo "<li> Artikel ".$SKU." vorhanden, keine Ã„nderungen nötig.";
            }
        }
        catch(Exception $e)
        {
            if($e->getCode() != 101)
            {
                echo $e->getMessage();
                
            }
        }
        */

        //Produkt anlegen
        
        
if(!$existing)
        
{
            
try
            
{
                
//Produkt Ã¼ber API hinzufügen    
                
$result$client->call($sess_id'product.create', array($p_type$att_set['set_id']$SKU$newProductData));
            
}
            
catch (Exception $e
            
{
                
if($e->getCode() != 101)
                
{
                      
echo "<li> ==> Fehler beim hinzufügen: ".$e->getMessage().NL;
                
}
            }
        }
        
        
// Auswertung / Produkt
        
$a_e microtime(true);
        
$a_t $a_e $a_s;
        echo 
"<li>Artikel ".$result." erstellt. (".$a_t."sek)".NL;
        
$i++;
    exit;    
}
// Gesamt Auswertung
$time_end time();
$time $time_end $time_start;
$client->endSession($sess_id);
echo 
"</ul><br>Fertig! Es wurden ".$i." Artikel bearbeitet. Dauer ".date('G \S\t\u\n\d\e\n i \M\i\n\u\t\e\n  s \S\e\k\u\n\d\e\n',strtotime("-1 hours",$time)).".".NL;

?>
 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 

Das Resultat sieht so aus:

# ==> Stelle Verbindung zur Magento API her
# ==> Verbindung hergestellt!
# ==> Fehler beim hinzufügen: SQLSTATE[42000]: Syntax error or access violation: 1064 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 ‘ ‘76’, ‘73’, ‘Absaugkanülen’, ‘1’, ‘3’, ‘3’, ))’ at line 1

Notice: Undefined variable: result in C:\wamp\www\magentoapi\import_a.php on line 159
# Artikel erstellt. (9.28125sek)

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

hm kann ich nix erkennen, wenn du mir deine XML schickst kann ich es ja mal bei mir probieren, email bei bedarf via PM

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

hm vielleicht die umlaute, nimm mal utf8_encode für die textwerte

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
Rico Winter
Sr. Member
 
Avatar
Total Posts:  108
Joined:  2009-03-20
Leipzig
 

Morgen Timste,

Danke erstmal für deine Zeit smile

Die Xml gibts hier , 2 Post oder so.

utf8encode hab ich auch schon probiert, allerdings stellt Magento den Text dann nicht mehr richtig dar, wenn ich es so lasse (siehts zwar blöd aus) wird es zumindest im Shop richtig angezeigt.

An sich sollte das Script funktionieren…

Gruß Rico

 
Magento Community Magento Community
Magento Community
Magento Community
 
timste
Guru
 
Total Posts:  645
Joined:  2007-12-26
Leipzig
 

link geht nicht

gruss

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 2