Statt UPDATE neuen Datensatz

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

  • Statt UPDATE neuen Datensatz

    Hallo Leute,

    Ich hab ein grosses Problem mit einer Abfrage. Ich möchte einen Datensatzu aktualisieren, aber anstatt, dass er aktualisiert wird, wird ein neuer angelegt und ich habe keine Idee warum...

    Hier der Code:

    PHP-Code:
      //Bearbeiten Formular
      
    if ($_POST["bearbeiten"]=="bearbeiten") {
        
    $select $HTTP_POST_VARS["select"];
        for (
    $i 0$i count($select); $i++) {
          
    $query ="SELECT * FROM $dbtabelle WHERE (id) =$select[$i]";
          
    $query_result mysql_query($query);
          
    $result mysql_fetch_array($query_result);
        }
        echo <<<BEARBEITEN
        <h2>Hallo <b>{$_SESSION["user_nickname"]}</b>, nehmen Sie Ihre &Auml;nderungen
        vor!</h2>
        <form action="
    {$_SERVER['PHP_SELF']}" method="post">
        <input type="hidden" name="Name" value="
    {$_SESSION["user_nickname"]}">
        <strong>Headline</strong>:<br>
        <input type="text" name="Headline" size="50" value="
    $result[Headline]"><br>
        Text (<small>HTML m&ouml;glich</small>):<br>
        <textarea cols="65" rows="15" wrap="soft" name="Eintrag">
    $result[Eintrag]
        </textarea><br>
        <input type="submit" value="&Auml;nderung vornehmen!">
        </form>
    BEARBEITEN;
      }
      
    //Eintrag bearbeiten (Datensatz)
      
    if (!empty($_POST["Headline"]) && !empty($_POST["Eintrag"])) {
        
    $datum=date("d.m.Y, H:i") . " Uhr";
        
    $SQL_Befehl1="UPDATE blog SET Name='$_SESSION[user_nickname]', Headline='$_POST[Headline]', Datum='$datum',
        Eintrag='
    $_POST[Eintrag]' WHERE id='$select[$i]'";
        
    mysql_query($SQL_Befehl1);
      } 
    Wär nett, wenn mir jemand helfen kann.

    Gruss, Simon

  • #2
    unwahrscheinlich, dass du mit UPDATE nen neuen DS anlegst,

    Haste Query in myadmin ausprobiert?

    Falsches Forum! *verschieb*

    Kommentar


    • #3
      UPDATE Query geht nicht

      Query geht in PHPMyAdmin auch nicht...

      Es zeigt zwar an, dass sie ausgeführt wurde, aber geändert wird nichts.

      Dass ein neuer Eintrag eingefügt wird, liegt gleich ich am ganzen Aufbau des Formulars. Einen neuen kann man auch im gleichen Formular anlegen.

      PHP-Code:
      <?
        //Eingabe-Formular
        if ($_POST["neu"]=="neu") {
          echo <<<EINTRAG
          <h2>Hallo <b>{$_SESSION["user_nickname"]}</b>, nehmen Sie Ihren Eintrag
          vor!</h2>
          <form action="{$_SERVER['PHP_SELF']}" method="post">
          <input type="hidden" name="Name" value="{$_SESSION["user_nickname"]}">
          <strong>Headline</strong>:<br>
          <input type="text" name="Headline" size="50"><br>
          Text (<small>HTML m&ouml;glich</small>):<br>
          <textarea cols="65" rows="15" wrap="soft" name="Eintrag">
          </textarea><br>
          <input type="submit" value="Eintrag abschicken!">
          </form>
      EINTRAG;
        }
        //Eintrag hinzuf&uuml;gen (Datensatz)
        if (!empty($_POST["Headline"]) && !empty($_POST["Eintrag"])) {
          $datum=date("d.m.Y, H:i") . " Uhr";
          $SQL_Befehl="INSERT INTO $dbtabelle " .
          "VALUES ('', '$_POST[Name]', '$_POST[Headline]', " .
          "'$datum', '$_POST[Eintrag]')";
          mysql_query($SQL_Befehl);
        }
        //Bearbeiten Formular
        if ($_POST["bearbeiten"]=="bearbeiten") {
          $select = $HTTP_POST_VARS["select"];
          for ($i = 0; $i < count($select); $i++) {
            $query ="SELECT * FROM $dbtabelle WHERE (id) =$select[$i]";
            $query_result = mysql_query($query);
            $result = mysql_fetch_array($query_result);
          }
          echo <<<BEARBEITEN
          <h2>Hallo <b>{$_SESSION["user_nickname"]}</b>, nehmen Sie Ihre &Auml;nderungen
          vor!</h2>
          <form action="{$_SERVER['PHP_SELF']}" method="post">
          <input type="hidden" name="Name" value="{$_SESSION["user_nickname"]}">
          <strong>Headline</strong>:<br>
          <input type="text" name="Headline" size="50" value="$result[Headline]"><br>
          Text (<small>HTML m&ouml;glich</small>):<br>
          <textarea cols="65" rows="15" wrap="soft" name="Eintrag">$result[Eintrag]
          </textarea><br>
          <input type="submit" value="&Auml;nderung vornehmen!">
          </form>
      BEARBEITEN;
        }
        //Eintrag bearbeiten (Datensatz)
        if (!empty($_POST["Headline"]) && !empty($_POST["Eintrag"])) {
          $datum=date("d.m.Y, H:i") . " Uhr";
          $SQL_Befehl1="UPDATE blog SET Headline='$_POST[Headline]', Datum='$datum',
          Eintrag='$_POST[Eintrag]' WHERE (id)='$select[$i]'";
          mysql_query($SQL_Befehl1);
        }
      ?>
      Ich kapiers nicht mehr...

      Kommentar


      • #4
        Was sagt mysql_affected rows?

        Mit dem Formular hat es ganz sicher nicht zu tun. das kennt der server ja gar nicht. mit deinem quellcode schon eher. aber den gucke ich mir So bestimmt nicht an. aber da du jetzt weißt, woran es vermutlich liegt, kannst du ja mal mit testausgaben debuggen.

        Kommentar

        Lädt...
        X