Ankündigung

Einklappen
Keine Ankündigung bisher.

folgendes problemchen

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

  • folgendes problemchen

    habe heute zum scripten angefangen und stecke jetzt schon fest bei folgendem fehler

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in ... on line 12

    habe bereits das internet durchforstet und bin nirgends auf eine Lösung gekommen vielleicht kann mir ja wer von euch schnell weiterhelfen!

    <html>
    <body>
    <?php
    if (isset($_POST["auswahl"]))
    {
    mysql_connect("","root");
    mysql_select_db("Salzburg-city");
    $sqlab = "select * from lokale where";
    $sqlab .= " Lokalname = " . $_POST["auswahl"];
    $res = mysql_query($sqlab);
    $dsatz = mysql_fetch_assoc($res);
    echo "Führen Sie die Änderungen durch,<br />betätigen Sie anschließend den button zum speichern";
    echo "<form action = 'bearb.php' method = 'post'>";
    echo "<input name='ln' value='" . $dsatz["Lokalname"] . "'>";
    echo "<input name='ad' value='" . $dsatz["Adresse"] . "'>";
    echo "<input name='ort' value='" . $dsatz["Ort"] . "'>";
    echo "<input name='bes' value='" . $dsatz["Beschreibung"] . "'>";
    echo "<input name='fot' value='" . $dsatz["Foto"] . "'>";
    echo "<input name='erd' value='" . $dsatz["Erstellungsdatum"] . "'>";
    echo "<input type='hidden' name='alterlokalname' value='" . $_POST["auswahl"] . "'>";
    echo "<input type='submit' value='Änderungen Speichern'";
    echo "<input type='reset'>";
    echo "</form>";
    }
    else echo "Es wurde kein Datensatz ausgewählt";
    ?>
    </body>
    </html>


  • #2
    Wenn du in einem SQL-Query irgendwo Text schreiben willst (also keine Zahlen oder so), dann musst du den Text immer mit einfachen Anführungszeichen ' umschliessen. Das hast du bei
    Code:
    Lokalname = '".$_POST["auswahl"]."'";
    nicht gemacht (ich habs schon verbessert).

    Kommentar


    • #3
      Debuggen via
      PHP-Code:
      <?php
      $x 
      mysql_query("....") or die(mysql_error());

      Kommentar


      • #4
        Ach ja das Stichwort SQL Injections habe ich vergessen anzumerken! Einfach mal bei Google eingeben und isch erkundigen.

        Kommentar


        • #5
          danke für eure antworten mag jetzt vielleicht dumm klingen aber es bugt schon wieder bei mir also der obige fehler ist behoben nun soll er mit diesem script die datein in der datenbank ändern!

          <html>
          <body>
          <?php
          mysql_connect("","root");
          mysql_select_db("Salzburg-city");
          $sqlab = "update lokale set Lokalname = '" . $_POST["ln"] . "',";
          $sqlab .= " Adresse = '" . $_POST["ad"] . "',";
          $sqlab .= " Ort = '" . $_POST["ort"] . "',";
          $sqlab .= " Beschreibung = '" . $_POST["bes"] . "',";
          $sqlab .= " Fot = '" . $_POST["fot"] . "',";
          $sqlab .= " Erstellungsdatum = '" . $_POST["erd"] . "',";
          $sqlab .= " where Erstellungsdatum = " . $_POST["erd"];
          mysql_query($sqlab);
          $num = mysql_affected_rows();
          if ($num>0)
          echo "Der Datensatz wurde geändert";
          else
          echo "Der Datensatz wurde nicht geändert";
          ?>
          Zurück zur <a href ="datlokbearb.php">Auswahl</a>
          </body>
          </html>

          bekomme aber immer nur als rückmeldund der datensatz wurde nicht geändert!

          Kommentar


          • #6
            Selbes Problem wie vorher - diesmal eben im WHERE-Teil. Außerdem ist noch ein Komma zu viel drin und logisch gesehen macht es keinen Sinn ein SET spalte="neuer wert" where spalte="neuer wert" zu machen...

            Nimm dir die Tipps von hier doch zu Herzen und debugge mit mysql_error()...
            Create your own quiz show.

            Kommentar


            • #7
              Hmm.. ich zitiere mich mal selber...
              Zitat von Papst Beitrag anzeigen
              Debuggen via
              PHP-Code:
              <?php
              $x 
              mysql_query("....") or die(mysql_error());
              Edit, oh.. steht ja schon da..

              Kommentar


              • #8
                danke für den tipp habe die zeile jetzt eingebaut...

                allerdings bekomme ich die andere Zeile nicht wirklich hin!

                Kommentar

                Lädt...
                X