Sql Datenbank eintragen In verschiedene Tabellen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von hildedragon, 3. Oktober 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Oktober 2008
    Hi alle guten Abend in meinem Fall ^^

    Habe ien kleines Problemm, Und zwar :

    will ich in 4 tabellen per php daten eintragen nur kommt ein fehler bei mir er tragt immer nur den letzten wert ein weis einer wo ich den denkfehler habe
    PHP:
    $sql  "INSERT INTO spiobericht(orbit, tandem, )
            VALUES('"
    . $forsch [ 'or' ]. "','" . $forsch [ 'tan' ]. "')" ;

            
    $sql  "INSERT INTO spioberichtf(jaeger,panz,)
            VALUES('"
    . $fleetschiff [ 'ja' ]. "', '" . $fleetschiff [ 'panz' ]. "')" ;

       
    $sql  "INSERT INTO spioberichtdef(bunk,min)
            VALUES('"
    . $defturm [ 'bun' ]. "', '" . $defturm [ 'mi' ]. "')" ;
             
    mysql_query ( $sql ) or die( mysql_error ());
    das sind die datenbank eintraege wo ich eintragen will aber er tragt immer nur den wert der tabelle "spioberichtdef" ein allso den letzten INSERT into die beiden ersten tragt er NICHT ein warum ?¿ hat einer eine lösung für mich .

    danke euch schon jetzt
     
  2. 3. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    seh auf anhieb auch nur einen query^^

    man kann bei einem INSERT-query mehrere values getrennt mit einem "," angeben:

    Code:
    INSERT into tabelle (spalte1, spalte2, spalte3, spalte4)
    VALUES (
     'inhalt1.1' 'inhalt2.1', 'inhalt3.1', 'inhalt4.1'
    ), (
     'inhalt1.2', 'inhalt2.2', 'inhalt3.2', 'inhalt4.2'
    ), (
     'inhalt1.3', 'inhalt2.3', 'inhalt3.3', 'inhalt4.3'
    ), (
     'inhalt1.4', 'inhalt2.4', 'inhalt3.4', 'inhalt4.4'
    );
     
  3. 3. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    Es sind mehrere Tabellen
    spiobericht, spioberichtf, spioberichtdef


    Desweiteren willst du den String $sql erweitern. Das geht nicht mit =, sondern mit .=
    Hinzu kommt noch, dass du die SQL Strings trennen musst, via ;

    Und sowas ist fehlerhaft: spiobericht(orbit, tandem, )
    Das darf nur so lauten: spiobericht(orbit, tandem)

    Dein Code muss also so aussehen:

    PHP:
    $sql  "INSERT INTO spiobericht(orbit, tandem)
            VALUES('"
    . $forsch [ 'or' ]. "','" . $forsch [ 'tan' ]. "');" ;

            
    $sql  .=  "INSERT INTO spioberichtf(jaeger,panz)
            VALUES('"
    . $fleetschiff [ 'ja' ]. "', '" . $fleetschiff [ 'panz' ]. "');" ;

       
    $sql  .=  "INSERT INTO spioberichtdef(bunk,min)
            VALUES('"
    . $defturm [ 'bun' ]. "', '" . $defturm [ 'mi' ]. "');" ;
             
    mysql_query ( $sql ) or die( mysql_error ());
    Vergess bitte nicht die Daten, die du eintragen lässt, abzusichern, zb via mysql_real_escape_string()

    MfG
     
  4. 3. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    Korregiert mich wenn ich falsch liege, aber führt die Funktion mysql_query denn nicht nur maximal ein Query aus?
     
  5. 3. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    das ist richtig
    muss also alles einzeln ausgeführt werden
     
  6. 3. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    kann es sein das die Variable $sql dreimal verwendet wird?
     
  7. 4. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    he super es klappt nun klasse thx .

    nun versuche ich mal das ich sie gleich loeschen lassen kann und updaten lassen kann das ganze wenn ich hilfe brauch melde ich mich wieder .
    super spitze klasse jungs hier ^^

    EDIT : ok stehe schon an der wand habe den code nun
    PHP:
     $sql  "SELECT spio_id FROM spiobericht,spioberichtf,spioberichtdef,spio_gebeude WHERE koords='" . $kords . "'" ;
      
    $query  mysql_query ( $sql ) or die( mysql_error ());
      if(
    mysql_num_rows ( $query ) >=  1 ) {
        
        
    $sql  "DELETE FROM spiobericht,spioberichtf,spioberichtdef,spio_gebeude WHERE koords='" . $kords . "'" ;
        
    $query  mysql_query ( $sql ) or die( mysql_error ());
      }
    koords ist in jeder tabelle drin so wie spio_id
    das $kords liest er selber aus in dem bericht .
    aber es kommt die meldung hier
    Column 'spio_id' in field list is ambiguous

    ok weil in jeder tabelle spio_id drin ist und koords um es zu identivizieren aber wie löse ich das nun ?? das er immer nach dem $kords sucht in der datenbank das aber löscht dann und die neuen daten werden ja siehe oben eingetragen dann .
     
  8. 4. Oktober 2008
    AW: Sql Datenbank eintragen In verschiedene Tabellen

    ich glaube du solltest da mit präfixen arbeiten.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.