Ankündigung

Einklappen
Keine Ankündigung bisher.

Mein datensatz wird nicht geändert, aber kein Fehler ausgegeben

Einklappen

Neue Werbung 2019

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

  • Mein datensatz wird nicht geändert, aber kein Fehler ausgegeben

    Hallo,
    ich bin leider mal wieder völlig ratlos...
    Ich schreibe an einem php-Programm, mit dem man Datensätze einer sql-Datenbank ändern kann.
    Ich habe es geschafft, dass eine Tabelle angezeigt wird und dass man daraus den Datensatz, den man ändern will, auswählen kann. Dieser wird dann in einem Formular angezeigt, wo man ihn verändern kann. Der Button "submit" schickt den geänderten Datensatz dann an ein Formular mit folgendem "body":
    PHP-Code:
    <?php
       
    mysql_connect
    ("","root");
    mysql_select_db("AEMessdatenbank");


    $prnr=$_POST["pnr"];
    $prname=$_POST["pna"];
    $link=$_POST["an"];
    $ageber=$_POST["ag"];
    $orgpin=$_POST["orpin"];



    echo 
    $prnr;
    echo 
    $orgpin;


    $sql 'UPDATE `aemessdatenbank`.`projekt` SET `Projektnummer` = \'$prnr\', `Projektname` = 
    \'$prname\', `Link zum Angebot` = \'$link\', `Auftraggeber` = \'$ageber\' 
    WHERE `projekt`.`Projektnummer` = \'orgpin\''
    ;



       
    mysql_query($sql)
        or die(
    "Unable to write into mysql. error: ".mysql_error());


       
    $num mysql_affected_rows();
       if (
    $num>0)
          echo 
    "Der Datensatz wurde geändert<p>";
       else
          echo 
    "Der Datensatz wurde nicht geändert<p>";
    ?>
    Zurück zur <a href="Datei8.php">Auswahl</a>
    Es kommt jezt keine Fehlermeldung, d.h. $sql wird ausgeführt, aber es kommt jedes Mal, dass der Datensatz nicht geändert wurde.
    Die Variablen $prnrm, $orgpin usw. bekommt das Formular - ich lasse sie mir ja zur Kontrolle ausgeben.
    Ich weiß echt nicht, was mein Fehler ist bzw. wo er liegen kann.
    Weiß das jemand von euch?
    Viele Grüße!
    Kerstin

  • #2
    Laß Dir mal per echo $sql ausgeben. Und schau mal in die Datenbank, vielleicht stehen die Werte wirklich schon drin?
    Ich würde auch immer die Ressourcen nutzen, die mysql_connect und mxsql_query zurückgeben.

    Nur am Rande solltest Du später mysql_real_escape_string verwenden, um das Manipulieren der Datenbank über Dein Script zu verhindern.

    Kommentar


    • #3
      Vielen Dank für die schnelle Antwort!
      Kann´s leider erst am Montag im Büro ausprobieren, weil ich daheim kein sql usw. hab.
      viele grüße!

      Kommentar


      • #4
        Wie wärs mit xampp? Umfangreich, vorkonfiguriert und spurenfrei zu entfernen.

        Kommentar


        • #5
          Hallo,
          vielen Dank für eure Antworten, inzwischen funktioniert das Ganze...
          hab noch Ewigkeiten rumgespielt und mit diesem Code geht´s:


          PHP-Code:
          <?php
             
          mysql_connect
          ("","root");
          mysql_select_db("AEMessdatenbank");


          $prnr=$_POST["pnr"];
          $prname=$_POST["pna"];
          $link=$_POST["an"];
          $ageber=$_POST["ag"];
          $orgpin=$_POST["orpin"];



          $sql "UPDATE `aemessdatenbank`.`projekt` SET `Projektnummer` = 
          '
          $prnr', `Projektname` = '$prname', `Link zum Angebot` = '$link', `Auftraggeber` = '$ageber
          WHERE `projekt`.`Projektnummer`='
          $orgpin'";



          mysql_query($sql)
              or die(
          "Unable to write into mysql. error: ".mysql_error());


          $num mysql_affected_rows();
             if (
          $num>0)
                echo 
          "Der Datensatz wurde geändert.<p>";
             else
                echo 
          "Der Datensatz wurde nicht geändert.<p>";


          ?>
          Viele Grüße!

          Kommentar

          Lädt...
          X