Falsche Abfrage?

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

  • Falsche Abfrage?

    Wo ist hier ein fehler in der abfrage? Ich finde den nicht.


    PHP-Code:

    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
    <input type="checkbox" name="id" value="id"
    <? if(isset($_POST['id'])){
                echo($_POST['id']); } ?>> Id ausgeben </input>
    <input type="submit" value="Senden">
        </form>


    <?php
    $sql 
    ="SELECT '".$_POST['id']."' FROM test";
    $result mysql_query($sql) OR die(mysql_error());
    echo 
    "ID´s in der Datenbank:<br />\n";
        while(
    $row mysql_fetch_assoc($result)) {
            echo 
    $row['id']."<br />\n";
        }
    Es kommt immer nur:

    id
    id
    id
    id
    id

  • #2
    Re: Falsche Abfrage?

    $sql ="SELECT '".$_POST['id']."' FROM test";

    Wenn du dir das ausgeben lässt, was ergibt das?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Was steht in $_POST[id] drin???

      Kommentar


      • #4
        Da kommt dann
        PHP-Code:
        SELECT 'id' FROM test 
        EDIT: In da steht id drinn. Das würd dann unten reingesetzt. Damit ich das über das Formular steuern kann.

        Kommentar


        • #5
          PHP-Code:
          'id' => id # ' entfernen.. 

          Kommentar


          • #6
            Original geschrieben von theaims
            Da kommt dann
            PHP-Code:
            SELECT 'id' FROM test 
            Na also, dann macht diese Query genau das, was du ihr gesagt hast:

            Liefere mir den String 'id' zurück.
            Und das tut sie dann auch so oft, wie Datensätze in der Tabelle vorhanden sind.


            Man kann wieder mal nur vermuten, was du eigentlich vorhast ...
            Entweder willst du den Namen der auszulesenden Spalte per Post übergeben - dann gehören da aber natürlich keine Hochkommata drum.
            Oder - wahrscheinlicher - du möchtest nur einen bestimmten Datensatz auslesen, bei dem das Feld id den übergebenen Wert hat - dann gehört das aber in die WHERE-Klausel einer Abfrage.



            Dir scheinen auf wirklich so ziemlich jedem der Themengebiete, die hier im Forum diskutiert werden, sämtliche Grundkenntnisse zu fehlen ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Die anführungszeichen haben an dieser Stelle nichts verloren.

              Kommentar


              • #8
                Ich möchte nur ganz einfach die inhalte in der spalte id in der tabelle test ist ausgeben.

                Kommentar


                • #9
                  Das haben dir doch gerade 3 Leute gesagt..

                  nicht:
                  PHP-Code:
                  $sql ="SELECT '".$_POST['id']."' FROM test"
                  sondern:


                  PHP-Code:
                  $sql ="SELECT ".$_POST['id']." FROM test"

                  Kommentar


                  • #10
                    Original geschrieben von theaims
                    Ich möchte nur ganz einfach die inhalte in der spalte id in der tabelle test ist ausgeben.
                    Alle Inhalte, die von allen Datensätzen?
                    Dann brauchst du nichts per POST übergebenes dort einbauen - dazu reicht eine rein statische Query.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Original geschrieben von uschi


                      sondern:


                      PHP-Code:
                      $sql ="SELECT ".$_POST['id']." FROM test"
                      [/B]
                      Dann kommt:

                      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 'FROM test' at line 1

                      @wahsaga

                      ja aber nur wenn es oben im formular ausgewählt ist. Am besten wer es wenn nur die letzten 5 datensätze ausgegeben werden.

                      Kommentar


                      • #12
                        Dann liefer doch bitte direkt die Query ($sql) mit. Ich vermute gerade, dass in $_POST nicht das drin ist, was du meinst.

                        Darüber hinaus solltest du dir JETZT erstmal klar machen, WAS du wirklich willst. Dann definierst du das mal im Klartext hier im Forum und versuchst es umzusetzen. Okay?

                        Kommentar


                        • #13
                          Ok. Ich versuche es mal.

                          Also ich möchte in meiner datenbank test von der tabelle test die spalte id ausgeben und zwar nur die letzten 5 einträge.

                          Und zwar so das ich in einem Formular das häckchen in eine checkbox setze auf senden klick und es dann es unten per echo ausgegeben wird.

                          Das habe ich versucht und leider nicht geschafft.

                          Hier mein Code:

                          PHP-Code:
                          <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
                          <input type="checkbox" name="id" value="id"
                          <? if(isset($_POST['id'])){
                                      echo($_POST['id']); } ?>> Id ausgeben </input>
                          <input type="submit" value="Senden">
                              </form>
                          <?php
                          $sql 
                          ="SELECT ".$_POST['id']." FROM test";
                          echo(
                          $sql);
                          $result mysql_query($sql) OR die(mysql_error());
                          echo 
                          "ID´s in der Datenbank:<br />\n";
                              while(
                          $row mysql_fetch_assoc($result)) {
                                  echo 
                          $row['id']."<br />\n";
                              }


                          ?>

                          Kommentar


                          • #14
                            if(CHECKBOX CHECKED) {
                            - sql abfrage ausführen. select id from test.
                            - sonst halt nichts machen,
                            }

                            mehr nicht.

                            Kommentar


                            • #15
                              Original geschrieben von theaims
                              und zwar nur die letzten 5 einträge.
                              Damit es "die letzten x" gibt, musst du erst mal irgendeine Form von Sortierung in die Daten bringen - informiere dich über ORDER BY.
                              (Wobei noch anzumerken ist, dass eine ID normalerweise nicht dazu dienen sollte, eine Ordnung herzustellen. Die identifiziert den Datensatz eindeutig, und das war's.)

                              Und wenn's "die letzten 5" sein sollen - dann informiere dich auch noch über LIMIT.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X