Ankündigung

Einklappen
Keine Ankündigung bisher.

Brauche dringend Hilfe bei einer Mysql abfrage

Einklappen

Neue Werbung 2019

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

  • Brauche dringend Hilfe bei einer Mysql abfrage

    Hallo ,
    ich haben ein problem ich will das eine liste auf einer seitte aufgelistet wird wo dann z.b. steht <a href="/test.php?ID=1">Ansehen</a> also wenn man dann auf ansehen klickt kommt man dann auf die entsprechende seite wo dann die infos stehen.

    mein bissheriger CODE:
    PHP-Code:
    <?php
    while($row mysql_fetch_object($abfrage))
    {

            
    $liste mysql_query("SELECT id FROM tabellen_name WHERE id='$row->id'"); 
            
    $com_num mysql_num_rows($liste); 

            echo 
    "<div class=\"liste\">\n"
            echo 
    "<a href=`test.php?ID=".$row->id."`><h2><img src='".$row->icon_img_url."'/>\n <small>".$row->name."<br>".$row->author." | ".$row->preis."</small></h2>";
            echo 
    "</div>\n";

    }
    ?>
    aber wenn ich dann meine Seite aufrufe steht da:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /pages/liste.php on line 6
    brauche dringend hilfe. Danke im vorraus.

    PS: Ich wusste nicht wohin mit dem beitrag aber wegen dem mysql fehler dachte ich es kommt hier hin


  • #2
    http://php-de.github.io/jumpto/sql/

    PS: das ist ein Grundlagen Problem... Strings und co.

    Kommentar


    • #3
      Offensichtlich hast du Zeilen entfernt. Der Fehler dürfte auf Grund eines MySQL-Syntaxfehlers in $abfrage auftreten.

      Kommentar


      • #4
        @erc

        Danke aber dies hat bei meinem problem nicht wirklich geholfen. der fehler ist immer noch da.

        Kommentar


        • #5
          Ich habe das Problem jetzt gelöst ich musste den oberen teil nur entfernen da ich diesen code schon in einer anderen datei drin hatte.

          DER CODE :

          PHP-Code:
           <?php
          $query 
          'SELECT * FROM tabellen_name';

                  echo 
          "<div>"
                  echo 
          "<a href=`test.php?ID=".$row->id."`><h2><img src='".$row->icon_img_url."'/>\n <small>".$row->name."<br>".$row->author." | ".$row->preis."</small></h2>";
                  echo 
          "</div>\n";

          ?>

          Kommentar


          • #6
            Hab das problem gelöst ich musste einfach etwas entfernen weil ich diesen Code schon in einer anderen datei drin hatte.

            So ist jetzt der Code :
            PHP-Code:
             <?php
            $query 
            'SELECT * FROM tabellen_name';

                    echo 
            "<div>"
                    echo 
            "<a href='test.php?ID=".$row->id."'><h2><img src='".$row->icon_img_url."'/>\n <small>".$row->name."<br>".$row->author." | ".$row->preis."</small></h2>";
                    echo 
            "</div>\n";

            ?>

            Kommentar


            • #7
              Die original mysql-Erweiterung ist veraltet (mysql_*-Funktionen) und wird in den kommenden Versionen aus PHP entfernt. Aktuell wirft sie schon E_DEPRECATED-Fehler bei einer Verbindung zur Datenbank. Des Weiteren stehen dir sehr viele tolle Features von mysql mit diesen Funktionen nicht zur Verfügung! Weiterführende Links:
              Choosing an API
              Warum man mysql* generell nicht (mehr) nutzen sollte.
              Wie man von mysql* auf PDO umsteigt
              Wissenswertes zum Thema SQL-Injection

              Die Verwendung von "*" in SQL-Abfragen wird im Allgemeinen als schlechter Stil angesehen. "*" kann entweder alle Felder aus einer Tabelle, oder (wenn mehrere Tabellen mit einbezogen werden) aus allen Tabellen ziehen.

              Zwei Gründe sprechen dagegen: Wenn du dein Tabellenschema anpasst, wird die Abfrage weiterhin funktionieren. Die Abfrage wird in deinem Code aber Variablen (bzw. Array-Keys) erzeugen, die von deinem Programm so nicht erwartet werden. Das kann (je nachdem, wie deine Applikation aufgebaut ist) zu schwer nachvollziehbaren Problemen führen. Würdest du die Spaltennamen direkt in deiner SQL-Abfrage angeben, würde die SQL-Abfrage direkt lautstark fehlschlagen. Dann kannst du möglicherweise einen Alias für umbenannte Tabellenspalten angeben, ohne dass du deinen Applikationscode anpassen musst.

              Außerdem kann man durch eine explizite Angabe die Reihenfolge und die Anzahl der Tabellenspalten begrenzen. Die Reihenfolge kann je nach Applikation eine Rollen spielen und je weniger Felder man einbezieht, desto schneller wird das Ergebnis zum abfragenden Client übertragen.

              Der schließende Tag eines PHP-Blocks am Ende einer Datei ist optional. In einigen Fällen ist das Weglassen hilfreich:
              • Es können ungewollte Whitespaces am Ende einer Datei auftreten, durch die ein späteres setzen von headern be-/verhindert werden kann.
              • Außerdem verhindert dies, dass beim Output Buffering Whitespaces am Ende eines durch die eingebundenen Dateien erzeugten Parts.
              • Im PSR Standard (PSR-2) ist ?> sogar ausdrücklich verboten, wenn in einer Datei ausschliesslich PHP verwendet wird (2.2 Files).
              Standards - Best Practices - AwesomePHP - Guideline für WebApps

              Kommentar


              • #8
                Hast du die Texte auf Sondertasen gebindet?
                Relax, you're doing fine.
                RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                Kommentar


                • #9
                  http://de.wikipedia.org/wiki/Bookmarklet
                  Standards - Best Practices - AwesomePHP - Guideline für WebApps

                  Kommentar

                  Lädt...
                  X