Fehler bei Datenbankänderung ein s taucht auf

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

  • Fehler bei Datenbankänderung ein s taucht auf

    Hallo,

    ich weiß das es eigentlich Standart ist nur ich fange gerade an und hab eigentlich mit dem Tutorial von Schattenbaum angefangen und wollte das nun etwas erweitern. Löschen und neueintragen ist alles kein Problem nun häng ich aber irgendwie dumm rum deim ändern und komm nicht auf meinen Fehler.

    In meiner ersten Datei wähle ich den zu bearbeitenden Link aus :

    PHP-Code:
    <form  method="post" action="linkaendern.php?<?=session_name()?>=<?=session_id()?>">
    <select name="update">
    <?
    include("dbconnect.inc");
    $abfrage = "SELECT * FROM links";
    $ergebnis = mysql_query($abfrage);
      while($ausgabe = mysql_fetch_array($ergebnis)){
    echo "<option value='".$ausgabe[id]."'>$ausgabe[urlname]</option>";
    }
    ?>
    </select>

    <input type="submit" name="next" value="Aktualisieren">
    </form>
    Meine Zweite Datei an die das Formular die Daten übergeben soll:

    PHP-Code:
    <?
    $abfrage = "select * from links where";
    $abfrage .= " id = '$update'";

    $ergebnis = mysql_query($abfrage) or die (mysql_error());

    ?>



    <html>

    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <title>aktualisieren</title>
    </head>

    <body bgcolor="#FFFFFF">

    <p>Bitte Daten eingeben:</p>

    <table border="0"><form action="update.php?<?=session_name()?>=<?=session_id()?>" method="post">
        <tr>
            <td>Hompage:</td>
            <td><input type="text" size="20" name="hpname" value="<? echo $abfrage["urlname"] ?>"><td>
        </tr>
    <tr>
            <td>URL:</td>
            <td><input type="text" size="20" name="url" value="$url"></td>
        </tr>
        <tr>
            <td>Beschreibung:</td>
            <td><textarea name="beschreibung" rows="3" cols="60">$beschreibung</textarea></td>
        </tr>
    <tr>
            <td>Name:</td>
            <td><input type="text" size="20" name="name" value="$name"><td>
        </tr>
    <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>

        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="eintrag" value="Abschicken"> <input
            type="reset" name="loeschen" value="Löschen"></td>
        </tr></form>
    </table>
    Diese datei ist in die linkaender.php includet. Ich hab in der Datei auch nur das erste Inputfeldt so angelegt das eigentlich die Daten ausgegeben werden sollten so zum Test. Aber kommischer weise wir da immer ein " s " angezeigt egal welche abfrage ich mache.

    vielleicht könnt ihr mir helfen. Ich bedanke mich schon mal für euere mühen mit dem Anfänger

  • #2
    $abfrage["urlname"] ist dein string! kein array

    das felht dir noch:
    PHP-Code:
    $row mysql_fetch_array($ergebnis);

    // und amit greifst du drauf zu
    $row["urlname"
    ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
    und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

    Kommentar


    • #3
      wo das s herkommt, kann ich mit zwar nicht erklären....

      aber so sollte es passen. (das war deine 2. datei

      PHP-Code:
      <?php

          $abfrage 
      "select * from links where";
          
      $abfrage .= " id = '$update' LIMIT 1";

          
      $ergebnis mysql_query($abfrage) or die (mysql_error());
          
      $row mysql_fetch_assoc($ergebnis) or die(mysql_error());

      ?>
      <html>

      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title>aktualisieren</title>
      </head>

      <body bgcolor="#FFFFFF">

      <p>Bitte Daten eingeben:</p>

      <table border="0"><form action="update.php?<?php echo session_name().'='.session_id(); ?>" method="post">
          <tr>
              <td>Hompage:</td>
              <td><input type="text" size="20" name="hpname" value="<? echo $row['urlname'] ?>"><td>
          </tr>
      <!-- aus optischen platzgründen entfernt ... -->
      </form>
      </table>

      EDIT:
      @muecke0815
      hehe. ich habe wohl einen konkurrenten, was die schnelligkeit angeht...

      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        @Abraxax
        ne ne keinen konkurrenten!!!! (zusammen sieht man mehr! sag ich jedenfalls immer meinen proggern - auch wenn sie sich nicht immer dran halten
        wurde dir nicht gerade ein tempel gebaut??? meine hochachtung und meinen respekt hast du !!!
        ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
        und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

        Kommentar


        • #5
          Danke für die versuchte Hilfe aber es taucht immer noch nur das " s " auf warum weiß ich einfach nicht. Es gibt keine Daten in der DB die mit s drin stehen. Aber das einzige was er ausliest ob wohl ich Abraxax Änderung gemacht habe ist " s"

          Kommentar


          • #6
            was sagt den
            PHP-Code:
            print "<pre>";
            print_r($row);
            print 
            "</pre>"
            steht das s schon dadrin?
            ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
            und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

            Kommentar


            • #7
              Original geschrieben von muecke0815
              @Abraxax
              ne ne keinen konkurrenten!!!! (zusammen sieht man mehr! sag ich jedenfalls immer meinen proggern - auch wenn sie sich nicht immer dran halten
              da hast du wohl recht...

              Original geschrieben von muecke0815
              wurde dir nicht gerade ein tempel gebaut??? meine hochachtung und meinen respekt hast du !!!
              OffTopic:
              vorerst doch erst der altar. der tempel folgt nach einem jahr. so stand es geschrieben.



              Original geschrieben von Brecherle
              Aber das einzige was er ausliest ob wohl ich Abraxax Änderung gemacht habe ist " s"
              was steht denn überhaupt in der DB drin? ist da was sinnvolles enthalten?
              poste mal ein paar infos ....
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                muecke0815

                Bei der Ausgabe von dir wir nichts angezeigt.

                In der Db sind in der Tabelle links:

                Sin dei Spalten id, urlname, url, beschreibung, banner, name,

                Richtig sinnvolles steht noch nicht drin da ich ja daran am üben war

                Hab nur einen Test Eintrag drin Ala 7, Test, www.test.de, Testseite, , Brecherle,

                Also sinnvoll nicht wollte ja wie gesagt damit üben und anfangen und eintragen und löschen geht auch einwandfrei.

                Kommentar


                • #9
                  Also jetzt sag ich gar nichts mehr und fahr glaub ich den PC runter irgendwie funktioniert es jetzt.

                  Kommentar


                  • #10
                    na denn mal gute nacht...
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      ein Problem bleibt mir noch

                      meine letzte Datei die nach dam abschicken des Formulars mit den geändeten daten kommt ist diese:

                      PHP-Code:
                      <?
                        include("dbconnect.inc");
                        $aendern = "UPDATE links Set urlname = '$urlname', url = '$url', beschreibung = '$beschreibung', name = '$name' where id='".$_POST['update']."'";
                        $update = mysql_query($aendern);
                        ?>
                      Irgend wie scheint mir darin noch etwas zu fehlen denn die Daten werden in der DB nicht geändert

                      So ähnlich ist es auch bei Schattenbaum beschrieben funktioniert aber wieder irgendwie bei mir net

                      Kommentar


                      • #12
                        IMMER or die(mysql_error()) VERWENDEN.

                        PHP-Code:
                         $update mysql_query($aendern) or die(mysql_error()); 
                        jetzt solltest du sehen, warum es nicht geht...
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          id ist meist ein integer feld

                          dann mußt du die ' weglassen!!!
                          ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                          und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                          Kommentar


                          • #14
                            Irgendwie mag mich die Geschichte net

                            PHP-Code:
                            <?
                              include("dbconnect.inc");
                              $aendern = "UPDATE links Set urlname = '$urlname', url = '$url', beschreibung = '$beschreibung', name = '$name' where id='".$_POST['update']."'";
                              $update = mysql_query($aendern) or die(mysql_error());
                              ?>
                            Es wird kein Fehler angezeigt

                            Kommentar


                            • #15
                              Original geschrieben von muecke0815
                              dann mußt du die ' weglassen!!!
                              er muss es nicht. es funktioniert auch so. nur muss die DB erst den string in einen zahlenwert ändern, was auf die performance geht. aber zum testen ist das so ok.

                              Original geschrieben von Brecherle
                              Es wird kein Fehler angezeigt
                              trifft denn irgendwas auf deine WHERE -clausel zu?
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X