php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-10-2015, 20:24
Bengelbaer
 Registrierter Benutzer
Links : Onlinestatus : Bengelbaer ist offline
Registriert seit: Oct 2015
Beiträge: 2
Bengelbaer befindet sich auf einem aufstrebenden Ast
Standard Warum keine Daten in der DB

Hallo zusammen,

zunächst einmal möchte ich mich kurz vorstellen.
Mein Name ist Michael, und ich bin mehr oder weniger hobbymäßig an PHP interessiert.

Nach dem ich mich immer so durchkämpfe habe ich nun eine neue Herausforderung welche ich lösen möchte.

Hierbei wäre ich sehr dankbar über Lösungsvorschläge.

Aufgabenstellung

4000 Datensätze befinden sich in einem Array welcher aus einer XML datei erzeugt wurde.

Der aufbau der XML sieht grob so aus.

Code:
<?xml version="1.0"?>
<Items_Transfer>
  <Sender>PAP*****</Sender>
  <Receiver>Shop Kunden</Receiver>
  <Transaction_No>33**856**</Transaction_No>
  <Items>
    <Item>
      <Item_No>84**5**81</Item_No>
      <Item_Description>Zuckerrohr weiss</Item_Description>
      <GTIN_Pack>4002911845813</GTIN_Pack>
      <GTIN_Carton>4002911973394</GTIN_Carton>
      <GTIN_Pallet>4049026717925</GTIN_Pallet>
        usw....usw
      <Material>Zuckerrohr</Material>
      <PacksPerDispatchUnit>12</PacksPerDispatchUnit>
      <ContentPerPack>12</ContentPerPack>
      <ContentPerPack_UnitOfMeasure>Stück</ContentPerPack_UnitOfMeasure>
      <KindOfPackaging_Pack>Folie</KindOfPackaging_Pack>
      <Height_Pack>18</Height_Pack>
      <Width_Pack>18</Width_Pack>
      <Depth_Pack>3</Depth_Pack>
      <Weight_Pack>113,8</Weight_Pack>
      <KindOfPackaging_Carton>Karton</KindOfPackaging_Carton>
      <Height_Carton>21</Height_Carton>
      <Width_Carton>20</Width_Carton>
      <Depth_Carton>38</Depth_Carton>
      <Weight_Carton>1634</Weight_Carton>
      <Volume_Carton>,016</Volume_Carton>
      <CartonsPerPaletteTier>12</CartonsPerPaletteTier>
      <BoxesPallet>60</BoxesPallet>
    
   usw....usw....
      
      <StockAvailability>1</StockAvailability>
      <Stocklot>0</Stocklot>
      <StockAvailabilityCarton>1</StockAvailabilityCarton>
      <StockAvailabilityPack>0</StockAvailabilityPack>
      <StockAvailabilityPallet>1</StockAvailabilityPallet>
    </Item>
usw......
Alles ist im Array, soweit so gut.

Nun sollen teile dieser Daten in eine Datenbank gespeichert werden.
Die Daten kommen bei einem ECHO aufruf einer einzelnen spalte in der foreach schleife auch schön 4000x raus.

Nur leider packt er mir die nicht in die Datenbank.

Was mach ich hier falsch?

Code:
            
//Verbindung herstellen
$link = mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die("Error " . mysqli_error($link));;



// erstellen der Tabellenstruktur und löschen alter tabellen.
$link->query("DROP TABLE IF EXISTS papstaritems");
$link->query("CREATE TABLE IF NOT EXISTS papstaritems (
                  ID        INT AUTO_INCREMENT PRIMARY KEY,
                  LieferantenArtikelNummer      INT(11),
                  ArtikelBezeichnung             VARCHAR(70),
                  Hersteller                    VARCHAR(70),
                  GTIN                            INT(70),
                  LaengenEinheit                  INT(11),
                  GewichtsEinheit                  INT(11),
                  Hoehe                          INT(11),
                  Breite                          INT(11),
                  Tiefe                          INT(11),
                  Gewicht_g                        INT(11),
                  Inhalt                          INT(11),
                  EmpfohlenerVK                    INT(11),
                  EK                            INT(11),
                  Verfuegbarkeit                INT(11),
                  Beschreibung                    VARCHAR(255),
                  Bild1                            VARCHAR(255)

                    )
                ");
    


// aufruf der Function PapstarLaden (siehe functions.php)- baut FTP Verbindung zu Papstar auf,
// lädt die Datei herunter, und speichert diese unter neuem Namen lokal ab.
papstar_laden ();        

        
//laden des XML Files mit den Artikeln in den Array
                
$xmlstr = simplexml_load_file($local_file); 

// Tabellen mit daten füllen
foreach ($xmlstr->Items->Item as $row) {
            
                $bild = $medialink. $row->Item_No. $imageErw;
                
                
                $link->query("INSERT INTO papstaritems (
                                                    LieferantenArtikelNummer,
                                                    ArtikelBezeichnung,
                                                    Hersteller,
                                                    GTIN,
                                                    LaengenEinheit,
                                                    GewichtsEinheit,
                                                    Hoehe,
                                                    Breite,
                                                    Tiefe,
                                                    Gewicht_g,
                                                    Inhalt,
                                                    EmpfohlenerVK,
                                                    EK,
                                                    Verfuegbarkeit,
                                                    Beschreibung,
                                                    Bild1                                                    
                                    )
                                    VALUES (
                                                    $row->Item_No, 
                                                    $row->Item_Description, 
                                                    $row->Brand,
                                                    $row->GTIN_Pack,
                                                    $row->Height_UnitOfMeasure,
                                                    $genGewEinh,
                                                    $row->Height_Pack,
                                                    $row->Width_Pack,
                                                    $row->Depth_Pack,
                                                    $row->Weight_Pack,
                                                    $row->ContentPerPack,
                                                    $row->RecommendedRetailPrice_Carton,
                                                    $row->InvoicePrice_PAPSTAR_Carton,
                                                    $row->StockAvailability,
                                                    $row->AdvertisingText,
                                                    $bild                                        
                                            )
                                ");
                
        }
$link->close();
Vielen Dank für eure Hilfe schon einmal.

Lg

Micha

Geändert von Bengelbaer (15-10-2015 um 20:27 Uhr) Grund: test
Mit Zitat antworten
  #2 (permalink)  
Alt 15-10-2015, 20:58
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.595
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Du ignorierst den Kontextwechsel. Werte, die du in SQL-Code einfügst, musst du escapen. Davon abgesehen gehören Strings in SQL-Code in Hochkomma gesetzt.

Desweiteren ignorierst du die Fehlermeldungen, die du von der Datenbank bekommst. query() liefert einen Rückgabewert. Warum wertest du diesen nicht aus?
Mit Zitat antworten
  #3 (permalink)  
Alt 15-10-2015, 21:44
Bengelbaer
 Registrierter Benutzer
Links : Onlinestatus : Bengelbaer ist offline
Registriert seit: Oct 2015
Beiträge: 2
Bengelbaer befindet sich auf einem aufstrebenden Ast
Standard

zunächst einmal....... klasse...
vielen Dank die Hochkommas..... das war der Hauptfehler.

Jetzt packt er alles in die DB....

Aber das mit dem escapen wie geht das?
Hier geht es doch um sonderzeichen oder Zeichen die SQL stören oder?

Wie kann ich so was jetzt einbauen?

Mit Zitat antworten
  #4 (permalink)  
Alt 15-10-2015, 22:27
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.595
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Bengelbaer Beitrag anzeigen
Aber das mit dem escapen wie geht das?
So wie es in der verlinkten Doku steht.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Skript speichert keine Daten ab - wo ist der Fehler? Razen PHP Developer Forum 3 04-01-2010 13:22
[PHP5] Warum keine Fehlermeldung? MaxPayne PHP Developer Forum 21 12-02-2007 20:35
Trägt keine Daten in der SQL Bank ein. PeterK345 PHP Developer Forum 5 01-09-2006 20:50
keine übernahme der daten in db Ardro PHP Developer Forum 23 08-08-2006 18:09
Keine Avatare warum? Payne_of_Death Fragen/Vorschläge zum Forum 8 29-12-2002 00:19

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:44 Uhr.