Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Wo ist der Fehler? (Syntax)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Zitat von meikel
    Zitat von Nordcom
    Der Code:
    Zeichenkettenfehler.

    Code:
      $result = mysql_query("update k_customer set firma = '$firma', vorname = '$vorname', nachname = '$nachname', zusatz = '$zusatz', apartner = '$apartner', strasse = '$strasse', nr = '$nr', plz = '$plz', ort = '$ort', land = '$land', tel = '$tel', fax = '$fax', email = '$email' WHERE id = $_POST[id]") or die('Fehler beim ändern des Eintrages! '.mysql_error());
    hm das heisst?

    Kommentar


    • #17
      Zitat von Nordcom
      hm das heisst?
      Ich hatte den Fehler korrigiert.

      Lies Dir das durch:
      28.15. Notice: Use of undefined constant ...
      http://www.dclp-faq.de/q/q-fehler-konstante.html

      Kommentar


      • #18
        oKay geht
        Jetzt kommt aber immernoch der Fehler

        Fehler beim ändern des Eintrages! 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

        Ich weiss auch ned mehr weiter

        Kommentar


        • #19
          Zitat von Nordcom
          oKay geht
          Betraf ja nur den Zeichenkettenfehler.

          Wahrscheinlich ist $_POST['id'] leer. Somit ist der SQL String falsch und MySQL meckert.

          Kommentar


          • #20
            Also wenn ich <? echo $id ?> mache zeigt er ja auch die richtige Nummer an aber nur er machts eben nicht wenn ich das nach WHERE id = '$id'"; mache aber wenn ich es manuell eintragen gehts ja also Fazit:

            WHERE id = '30'" ----> GEHT
            WHERE id = '$id'" -----> Geht NICHT
            WHERE id = $_POST[id]") -----> Geht auch NICHT

            hm ich bin doch Anfänger :/ Nur an sowas happert es dann.

            Idee?

            Kommentar


            • #21
              Zitat von Nordcom
              Also wenn ich <? echo $id ?> mache zeigt er ja auch die richtige Nummer an aber nur er machts eben nicht wenn ich das nach WHERE id = '$id'"; mache aber wenn ich es manuell eintragen gehts ja also Fazit:
              Sieh nach, ob Du irgend wo $id überschreibst. Beliebter Fehler ist:
              if ($id = '')
              Die Aussage ist immer wahr, aber danach ist $id leer.

              Kommentar


              • #22
                Umpf...

                Hi, ich bin neu hier!

                Ich denke das ich selber noch ein PHP-Newbie bin, aber eins weiß ich:

                SCHREIBE DEINEN CODE STRUKTURIERT!!!

                Und zu deinem Problem:

                Schau dir mal deine ( ) und { } Paare an, für mich scheint es so als hättest du da welche vergessen!!!

                Wenn ich mich irre, dann BIG SORRY!!!

                Ach, noch was!

                HAST DU EINE Location --> HEADER Funktion eingebaut??? Denn das könnte auch das Problem sein!!!

                Mann kann bei dir ja nicht alles erkennen!!!

                Kommentar


                • #23
                  SORRY FÜR WIEDER DIESEN VIELEN TEXT!!!
                  ----------------------------
                  <?php
                  session_start ();
                  if (!isset ($_SESSION["user_id"]))
                  {
                  header ("Location: index.php"); <--- Könnte auch ein Problem sein! Denn es darf noch nichts übergeben worden sein!
                  }

                  include("dbconnect.php");

                  if(!$action)
                  {
                  if(!$id)
                  <-- Das kann hier doch nicht funktionieren oder???
                  {
                  die("Keinen Kunden gewählt!");
                  }


                  $abfrage = "SELECT * FROM k_customer WHERE id=\"$id\""; <---
                  $ergebnis = mysql_query($abfrage);
                  if(!$ergebnis) { echo "Fehler!"; }


                  while($row = mysql_fetch_object($ergebnis))
                  {

                  ?>

                  <center>
                  <form action="debdetail.php?action=change" method=post>
                  <body bgcolor="3F75B7">
                  <table border="1" style="border-style=collapse" bordercolor="#000000" width="500">
                  <tr>
                  <td colspan="2" align="center">Debitorenkonten bearbeiten</td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Kundennummer</td>
                  <td width="350" align="left"><? echo $row->id; ?></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Anmeldedatum</td>
                  <td width="350" align="left"><? echo $row->date; ?></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Bearbeiter</td>
                  <td width="350" align="left"><? echo $row->bearbeiter; ?></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Firma</td>
                  <td width="350" align="left">
                  <input type="text" name="firma" size="20" value="<? echo $row->firma; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Vorname, Nachname</td>
                  <td width="350" align="left"><input type="text" name="vorname" size="20" value="<? echo $row->vorname; ?>"> <input type="text" name="nachname" size="20" value="<? echo $row->nachname; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Zusatz</td>
                  <td width="350" align="left"><input type="text" name="zusatz" size="20" value="<? echo $row->zusatz; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Ansprechpartner</td>
                  <td width="350" align="left"><input type="text" name="apartner" size="20" value="<? echo $row->apartner; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Strasse, Nr</td>
                  <td width="350" align="left"><input type="text" name="strasse" size="20" value="<? echo $row->strasse; ?>"> <input type="text" name="nr" size="3" value="<? echo $row->nr; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">PLZ, Ort</td>
                  <td width="350" align="left"><input type="text" name="plz" size="5" value="<? echo $row->plz; ?>"> <input type="text" name="ort" size="20" value="<? echo $row->ort; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Land</td>
                  <td width="350" align="left"><input type="text" name="land" size="20" value="<? echo $row->land; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Telefon</td>
                  <td width="350" align="left"><input type="text" name="tel" size="20" value="<? echo $row->tel; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">Fax</td>
                  <td width="350" align="left"><input type="text" name="fax" size="20" value="<? echo $row->fax; ?>"></td>
                  </tr>
                  <tr>
                  <td width="150" align="center">eMail</td>
                  <td width="350" align="left"><input type="text" name="email" size="20" value="<? echo $row->email; ?>"></td>
                  </tr>
                  <tr>
                  <td colspan="2" width="500" align="center"><input type="submit" name="submit" value="Speichern"></form></td>
                  </tr>
                  </table>
                  </center>

                  <?
                  }
                  }
                  if($action =="change")
                  {
                  $result = mysql_query("update k_customer set firma = '$firma', vorname = '$vorname', nachname = '$nachname', zusatz = '$zusatz', apartner = '$apartner', strasse = '$strasse', nr = '$nr', plz = '$plz', ort = '$ort', land = '$land', tel = '$tel', fax = '$fax', email = '$email' WHERE id = '$id'") or die('Fehler '.mysql_error());
                  echo "Erfolgreich geändert!";
                  mysql_close($dbverbindung);
                  }



                  ?>
                  ----------------------------
                  [/quote]

                  GRÜN = KONTROLIERE DEINEN SYNTAX

                  ROT = MEINER MEINUNG NACH EINE FEHLER KORREKTUR

                  FRAGE: GEHT DAS NICHT SO...

                  IF (!($VARIABLE)) { echo "AUSGABE"; }

                  Kommentar


                  • #24
                    Also ich hab jetzt nochmal den Header rausgenommen (Session).
                    Geht leider immer noch nicht
                    Neuer Code:

                    Code:
                    <?php 
                    
                      include("dbconnect.php");
                    
                     if(!$action)
                     {
                      if(!$id)
                     {
                     die("Keinen Kunden gewählt!");
                     }
                    
                      $abfrage = "SELECT * FROM k_customer WHERE id=".$id."";
                      $ergebnis = mysql_query($abfrage);
                      if(!$ergebnis) { echo "Fehler!"; }
                     
                    
                      while($row = mysql_fetch_object($ergebnis))
                        {
                    
                      ?>
                    
                    <center>
                    <form action="debdetail.php?action=change" method=post>
                    <body bgcolor="3F75B7">
                    <table border="1" style="border-style=collapse" bordercolor="#000000" width="500"> 
                    <tr> 
                       <td colspan="2" align="center">Debitorenkonten bearbeiten</td> 
                    </tr>
                    <tr> 
                       <td width="150" align="center">Kundennummer</td> 
                       <td width="350" align="left"><? echo $row->id; ?></td> 
                    </tr>
                    <tr> 
                       <td width="150" align="center">Anmeldedatum</td> 
                       <td width="350" align="left"><? echo $row->date; ?></td> 
                    </tr>
                    <tr> 
                       <td width="150" align="center">Bearbeiter</td> 
                       <td width="350" align="left"><? echo $row->bearbeiter; ?></td> 
                    </tr>   
                    <tr> 
                       <td width="150" align="center">Firma</td> 
                       <td width="350" align="left"><input type="text" name="firma" size="20" value="<? echo $row->firma; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">Vorname, Nachname</td> 
                       <td width="350" align="left"><input type="text" name="vorname" size="20" value="<? echo $row->vorname; ?>"> <input type="text" name="nachname" size="20" value="<? echo $row->nachname; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">Zusatz</td> 
                       <td width="350" align="left"><input type="text" name="zusatz" size="20" value="<? echo $row->zusatz; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">Ansprechpartner</td> 
                       <td width="350" align="left"><input type="text" name="apartner" size="20" value="<? echo $row->apartner; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">Strasse, Nr</td> 
                       <td width="350" align="left"><input type="text" name="strasse" size="20" value="<? echo $row->strasse; ?>"> <input type="text" name="nr" size="3" value="<? echo $row->nr; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">PLZ, Ort</td> 
                       <td width="350" align="left"><input type="text" name="plz" size="5" value="<? echo $row->plz; ?>"> <input type="text" name="ort" size="20" value="<? echo $row->ort; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">Land</td> 
                       <td width="350" align="left"><input type="text" name="land" size="20" value="<? echo $row->land; ?>"></td> 
                    </tr> 
                    <tr> 
                       <td width="150" align="center">Telefon</td> 
                       <td width="350" align="left"><input type="text" name="tel" size="20" value="<? echo $row->tel; ?>"></td> 
                    </tr>
                    <tr> 
                       <td width="150" align="center">Fax</td> 
                       <td width="350" align="left"><input type="text" name="fax" size="20" value="<? echo $row->fax; ?>"></td> 
                    </tr>
                    <tr> 
                       <td width="150" align="center">eMail</td> 
                       <td width="350" align="left"><input type="text" name="email" size="20" value="<? echo $row->email; ?>"></td> 
                    </tr>
                    <tr> 
                       <td colspan="2" width="500" align="center"><input type="submit" name="submit" value="Speichern"></form></td> 
                    </tr> 
                    </table>
                    </center>
                    
                    <? 
                    } 
                    } 
                    if($action =="change") 
                    { 
                    $result = mysql_query("update k_customer set firma = '$firma', vorname = '$vorname', nachname = '$nachname', zusatz = '$zusatz', apartner = '$apartner', strasse = '$strasse', nr = '$nr', plz = '$plz', ort = '$ort', land = '$land', tel = '$tel', fax = '$fax', email = '$email' WHERE id = '$id'") or die('Fehler beim ändern des Eintrages! '.mysql_error());
                     echo "Erfolgreich geändert!"; 
                        mysql_close($dbverbindung); 
                       }
                    ?>

                    Kommentar


                    • #25
                      Zitat von Nordcom
                      Also ich hab jetzt nochmal den Header rausgenommen (Session).
                      Geht leider immer noch nicht
                      Solche Fehlermeldungen "liebe" ich.

                      Du verwendest 'date' als Spaltenbezeichner, obwohl das ein reserviertes Wort ist.

                      ungetestet:
                      Code:
                      <?php
                      define ('NL', "\n"); # neue Zeile
                      
                      $tab = array (  # Tabellenspalten und Bezeichnungen
                      'id' => 'Kundennummer',
                      'date' => 'Anmeldedatum',
                      'bearbeiter' => 'Bearbeiter',
                      'firma' => 'Firma',
                      'vorname' => 'Vorname',
                      'nachname' => 'Nachname',
                      'zusatz' => 'Zusatz',
                      'apartner' => 'Ansprechpartner',
                      'strasse' => 'Strasse',
                      'plz' => 'PLZ',
                      'ort' => 'Ort',
                      'land' => 'Land',
                      'tel' => 'Telefon',
                      'fax' => 'Fax',
                      'email' => 'eMail',
                      
                      include("dbconnect.php"); # hier mußt Du noch mal nachgucken, ob dort schon Content ausgegeben wird!
                      if(! isset($action))
                      {
                          if(! isset($id))
                          {
                            die("Keinen Kunden gewählt!");
                          }
                      
                        $sql = "SELECT * FROM k_customer WHERE id='".$id."'";
                        if (! $ergebnis = mysql_query($sql)) die('Fehler! sql=' . htmlentities($sql).<'br />' . mysql_error() );
                        while($row = mysql_fetch_object($ergebnis))
                        {
                      # Ausgabe
                      print '<center> ' . NL;
                      printf('<form action="%s?%s=%s" method=post>' . NL, 'debdetail.php', 'action', 'change');
                      print '<body bgcolor="3F75B7">' . NL);
                      print '<table border="1" style="border-style=collapse" bordercolor="#000000" width="500">' . NL);
                      print '<tr> ' . NL;
                      print '   <td colspan="2" align="center">Debitorenkonten bearbeiten</td> ' . NL;
                      print '</tr> ' . NL;
                      
                      # Felder ausgeben
                      foreach ($tab as $key => $val)
                      {
                        print '<tr> ' . NL;
                        printf ('   <td width="150" align="center">%s</td>' . NL,  $val);
                        printf ('   <td width="350" align="left"><input type="text" name="%s" size="20" value="%s"></td> ' . NL, 
                             $key, 
                             htmlentities($row[$key]), ENT_QUOTES);
                        print '</tr>' . NL;
                      }
                      
                        print '<tr>  .NL;
                        print '   <td colspan="2" width="500" align="center"><input type="submit" name="submit" value="Speichern"></form></td>  .NL;
                        print '</tr>  .NL;
                        print '</table>  .NL;
                        print '</center>' .NL;
                      # Formularende
                        }
                      }
                      if ( isset($action) AND $action == 'change')
                      {
                        $sql = "update k_customer set ';
                        @reset($tab);
                        $set = array();
                        foreach ($tab as $key)
                        {
                          $set = '`' . $key .'`='. "'" . mysql_escape_string (${$key}) ."'";
                        }
                      
                        $sql .= implode (',' $set);
                      
                        $ sql .= ' WHERE id = '$id'";
                      $result = mysql_query($sql) or die('Fehler! sql=' . htmlentities($sql).<'br />' . mysql_error() ); 
                       echo "Erfolgreich geändert!"; 
                      }
                      if ($dbverbindung) mysql_close($dbverbindung); 
                      ?>
                      ## Syntaxfehler u/o Vertipper meinerseits sind nicht ausgeschlossen, da mit die Schrift in dem Textfester zu popelig ist.

                      Kommentar

                      Lädt...
                      X