Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL Tabelle lässt sich nicht updaten

Einklappen

Neue Werbung 2019

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

  • [Erledigt] MySQL Tabelle lässt sich nicht updaten

    Hi,
    bin neu hier und auch noch nicht so ein profi in PHP/MySQL.
    Hab aus meinem PHP Buch ein Script abgeändert, welches aber leider nicht so funktioniert. Ich möchte über ein Formular Daten in der Datenbank Updaten, was mit dem original Script auch schön funktioniert. In der abgeänderten Version die ich geschrieben hab um es nachzuvollziehen klappts leider nicht.
    Hier ist mal der Code:
    Code:
    <html><head><title>Bearbeiten der Inhalte der Datenbank</title></head><body>
    <div align=center>
    <?php
    require('connect3.php');
    //Löschen des Datensatzes
    if($sent==1)
    {
        $sql="DELETE ";
        $sql.=" FROM $tabellenname ";
        $sql.="WHERE ID=";
        $sql.=$ID;
        @mysql_query($sql, $link);
    }
    
    //Speichern der neuen Werte, nachdem das Formular zum Bearbeiten abgeschickt wurde
    if($sent==2)
    {
        $sql="UPDATE $tabellenname ";
        $sql.=" SET ";
        $sql.="name='$name', ";
        $sql.="nachricht='$nachricht' ";
        $sql.="WHERE ID=";
        $sql.=$ID;
        @mysql_query($sql, $link);
        mysql_query($sql) or die(mysql_error());  
    }
    //Anzeigen des Formulars zum Bearbeiten eines Datensatzes
    if($sent==3)
    {
        $sql ="SELECT ";
        $sql.=" * $tabellenname";
        $sql.=" WHERE ID=";
        $sql.=$ID;
        $result=@mysql_query($sql, $link);
    
        error_reporting(E_ALL);
        ?>
        <h2>Bearbeiten der Infos</h2>
        <form action='<?php echo $PHP_SELF; ?>' method='post'>
        <input type="hidden" name="sent" value="2">
        <input type="hidden" name="ID" value="<?php echo mysql_result($result,0, 'ID'); ?>">
        <p>Name</p>
        <input type=text name='name' size=50 value='<?php echo mysql_result($result,0, 'name'); ?>'><br>
        <p>Nachricht</p>
        <input type=text name='nachricht' size=50 value='<?php echo mysql_result($result,0, 'nachricht'); ?>'><br>
        <input type="submit" value="Speichern"><input type="Reset" value="Zurücksetzen">
        </form>
        <?php
    }
        //Ausgabe der Liste
        $sql ="SELECT ";
        $sql.=" * FROM $tabellenname";
        $result=@mysql_query($sql, $link);
        if(mysql_num_rows($result)>0)
        {
            echo "<h2>Bisher eingetragene Nachrichten</h2>";
            for($i;$i<mysql_num_rows($result);$i++)
            {
                echo "<hr width=400>";
                echo "<table border=1 width=400><tr><td>";
                echo mysql_result($result,$i, 'name');
                echo "</td><td>";
                echo mysql_result($result,$i, 'ID');
                echo "</tr><tr><td>";
                echo mysql_result($result,$i, 'nachricht');
                echo "</td></tr>";    
                echo "<tr><td>";
                echo "<a href='$PHP_SELF?sent=1&ID=";
                echo mysql_result($result,$i, 'ID');
                echo "'>Löschen</a>";
                echo "</td><td align=right>";
                echo "<a href='$PHP_SELF?sent=3&ID=";
                echo mysql_result($result,$i, 'ID');
                echo "'>Bearbeiten</a>";
                echo "</td></tr>";
                echo "</table>";
            }
        }
        else
        {
            echo "<h2>Es liegen keine Einträge in der Datenbank vor</h2>";
        }
        error_reporting(E_ALL);
        ?>
        </div></body></html>
    Löschen funktioniert, aber der Update klappt einfach nicht.

    Bekomme auch folgenden Fehler angezeigt, der mir aber leider nicht viel verrät:
    "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"

    Wäre euch sehr dankbar wenn ihr mir helfen könntet.


  • #2
    Dann solltest du dir einfach mal den SQL-String beim Update ausgeben, möglichst vor dem die()

    Kommentar


    • #3
      Habs jetzt doch hinbekommen, aber frag mich nicht wie?! Hab das Beispiel-Script aus dem Buch noch mal hergenommen und angepasst und nun klappt es auch. Trotzdem danke für die Hilfe.

      Kommentar


      • #4
        Schmeiss das Buch weg, da wird munter register_globals verwendet, das ist seit Jahren veraltet ..
        "Mein Name ist Lohse, ich kaufe hier ein."

        Kommentar


        • #5
          Hi, hast recht, das Buch ist bestimmt schon 5 Jahre alt, oder noch mehr. Hatte es nur noch mal rausgekramt und ein neues Buch will ich mir momentan auch nicht kaufen

          Kommentar

          Lädt...
          X