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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] Wo ist der Fehler? (Syntax).

    [Erledigt] Wo ist der Fehler? (Syntax)

    huhu bin jetzt schonwieder 1std. am Fehlersuchen:/

    Meldung: 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

    Code:
    <? 
    } 
    }
    if($action =="change")
    {
      $result = mysql_query("update k_customer set id = '$id', 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);
    	}
      
    
    
    ?>
    Kann das irgendwie dran liegen das ich in der Update die 2 neuen Felder nicht drin hab? Eigentlich nicht oder?

  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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); 
       }
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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"; }

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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!!!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Nordcom
    oKay geht
    Betraf ja nur den Zeichenkettenfehler.

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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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());

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Der Code:

    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());

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Nordcom
    Hallo,
    die Register_Globals ist on hab ich gestern schon geprüft.
    1. Regel: printe den geparsten SQL String und kopiere den manuell über die Zwischenablage in das SQL Fenster von PhpMyAdmin.

    Wie muss ich den die einbauen ich krieg Fehlermeldung:/

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/30/d78512637/htdocs/kserv/debdetail.php on line 97
    Wie sieht Zeile 96 und 97 aus?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Hallo,
    die Register_Globals ist on hab ich gestern schon geprüft.

    Wie muss ich den die einbauen ich krieg Fehlermeldung:/

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/30/d78512637/htdocs/kserv/debdetail.php on line 97

    Einen Kommentar schreiben:

Lädt...
X