Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler bei einer Datenbank-Abfrage

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

  • Fehler bei einer Datenbank-Abfrage

    Folgendes liegt vor :

    Eine Datenbank enthält eine Liste mit Modellen von verschiedenen
    Konstrukteuren aus verschiedenen Kategorien.

    Solange ich keine gezielte Auswahl treffe, wird die Liste korrekt
    angezeigt.
    Wenn ich aber die Anzeige auf einen bestimmten Kon oder eine
    bestimmte Kategorie beschränken will, erhalte ich folgende
    Fehlermeldung :
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\Dettmann\eep_free_list.p hp on line 36

    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\Dettmann\eep_free_list.p hp on line 45
    Die zugehörigen Codes sehen wie folgt aus :

    1. Auswahl (verkürzt)
    PHP-Code:
    <form action="eep_free.php?do=1" method="post">
      <
    strong>Kategorie w&auml;hlen : </strong>
      <
    select name="kat" size="1">
        <
    option>alle</option>
        <
    option>Rollmaterial</option>
        <
    option>Gleisobjekte</option>
      </
    select>
      <
    strongKonstrukteur w&auml;hlen : </strong>
      <
    select name="kon" size="1">
        <
    option>alle</option>
        <
    option>AB2</option>
        <
    option>AD1</option>
        </
    p>
      </
    select>
      <
    input type="submit" value="Anzeigen">
    </
    form
    2. Vorbereitung (eep_free.php)
    PHP-Code:
    $kat $_POST["kat"];
    $kon $_POST["kon"];
    include (
    "include/db_connecteep.inc.php");
    if (
    $kat == "alle" and $kon == "alle")
      {
      
    $sort "";
      include (
    "eep_free_list.php");
      }
    if (
    $kat != "alle" and $kon == "alle")
      {
      
    $sort "kat = '$kat'";
      include (
    "eep_free_list.php");
      }
    if (
    $kat == "alle" and $kon != "alle")
      {
      
    $sort "kon = '$kon'";
      include (
    "eep_free_list.php");
      } 
    3. Datenbank-Abfrage (eep_free_list.php)
    PHP-Code:
    <?php
    if ($sort == "")
      {
      
    $query "SELECT * FROM eep_free ORDER BY name limit {$query_string}";
      }
    else
      {
      
    $query "SELECT * FROM eep_free ORDER BY name WHERE $sort limit {$query_string}";
      }
    $result mysql_query($query);

    ?>
    <table>
    <?php
    while($row mysql_fetch_object($result))  //Zeile 36
      
    {
      print 
    give_style($row->name$row->text);
      }
    ?>
    </table>
    <br>
    <?php

    mysql_free_result
    ($result);  //Zeile 45
    ?>
    Ich habe jetzt seit zwei Tagen nach einem Fehler gesucht.
    Mittlerweise fange ich an, in den Codes kleine grüne Männchen
    zu sehen.

    Erkennt hier jemand den/die Fehler in der Codierung ?
    Wenn ja, bitte umgehend Bescheid geben, bevor ich noch
    wahnsinnig werde ( ).

    Gruß, Mike
    sigpic
    Mike's EEP-Welt CSC Oldenburg
    Link-Sammlung Smily-Sammlung

  • #2
    AW: Fehler bei einer Datenbank-Abfrage

    Bist du sicher, dass die MySQL-Verbindung steht? Sicher, dass die Tabelle existiert?

    Hinter jeder MySQL-Funktion einfach "or die(mysql_error());" schreiben.
    Spielerei
    Dokus: SelfHTML, CSS4you, PHP.net
    Validatoren: Validome xHTML / XML Validator, W3C CSS Validator, FeedValidator (RSS, ATOM)

    Kommentar


    • #3
      AW: Fehler bei einer Datenbank-Abfrage

      Gib auch bitte mal in Zeile 35 ein:

      echo $result;

      Damit man sieht ob dort alles richtig drin gespeichert wird
      Meine neue private Homepage ist fertig. Es wird um Meinungen, Anregungen, Kritik und Gästebucheinträge gebeten: http://markus.ug-team.de

      Kommentar


      • #4
        AW: Fehler bei einer Datenbank-Abfrage

        PHP-Code:
          $query "SELECT * FROM eep_free ORDER BY name WHERE $sort limit {$query_string}"
        Was ist denn das für eine Abfrage?
        Erstens: WHERE-Bedingung kommt vor die ORDER-Abfrage
        Zweitens: Was soll WHERE $sort bedeuten? Was steht in $sort drin?
        Drittens: Vielleicht hilft es ja mal die Variablen zu escapen

        Kommentar


        • #5
          AW: Fehler bei einer Datenbank-Abfrage

          @FloB

          Die Verbindung besteht, die Datenbank existiert.
          Sonst würde ich ja wohl bei einer Abfrage ohne
          Auswahl-Kriterien keine Anzeige bekommen.
          Hinter jeder MySQL-Funktion einfach "or die(mysql_error());" schreiben.
          Siehe dazu
          PHP-Code:
          $ergebnis mysql_query($sqlabfrage) or die("Fehler in SQL-Abfrage!"); 
          Es wird kein Fehler bezüglich Datenbank-Zugriff angezeigt.

          @Laire

          Da ich bei Abfrage ohne Auswahl-Kriterien eine Anzeige
          erhalte, müssen die Einträge ja wohl korrekt sein.

          @No0oB

          Hättest du meinen ersten Post gelesen, dann wüßtest du es.
          Hier noch einmal zur Erinnerung :
          PHP-Code:
          $kat $_POST["kat"]; 
          $kon $_POST["kon"]; 
          include (
          "include/db_connecteep.inc.php"); 
          if (
          $kat == "alle" and $kon == "alle"
            { 
            
          $sort ""
            include (
          "eep_free_list.php"); 
            } 
          if (
          $kat != "alle" and $kon == "alle"
            { 
            
          $sort "kat = '$kat'"
            include (
          "eep_free_list.php"); 
            } 
          if (
          $kat == "alle" and $kon != "alle"
            { 
            
          $sort "kon = '$kon'"
            include (
          "eep_free_list.php"); 
            } 
          Ich habe bereits andere Abfragen (ohne Variablen) auf die gleiche Weise
          ausgeführt. Die Reihenfolge hat hierbei nie eine Rolle gespielt.

          @all

          Ich vermute, daß der Fehler in der Abfrage zu finden ist.
          Denn bei
          PHP-Code:
          $query "SELECT * FROM eep_free ORDER BY name limit {$query_string}"
          gibt es keinerlei Probleme, während bei
          PHP-Code:
          $query "SELECT * FROM eep_free ORDER BY name WHERE $sort limit {$query_string}"
          der im ersten Post genannte Fehler auftritt.

          Bitte weitere Anregungen. Danke.

          Gruß, Mike
          sigpic
          Mike's EEP-Welt CSC Oldenburg
          Link-Sammlung Smily-Sammlung

          Kommentar


          • #6
            AW: Fehler bei einer Datenbank-Abfrage

            trag mal bitte in das Query statt deiner variablen direkt den eigentlichen Inhalt deiner variablen ein und guck obs dann geht.
            Wenn ja dann liegt der Fehler bei der Übergabe der Variablen an das Query.


            Ich hab die Syntax anders gelernt. Ich unterbreche eigentlich immer an den Stellen wo Variablen stehen das Query, füge die variablen ein und setze dann fort.

            Also so in etwa: "Select * from tabelle Where id='" . $gesuchte_id . "' Sort by gelb";
            nicht von mir gemacht, nur von mir empfohlen:
            Die Goldenen Regeln für Schlechtes HTML
            :gott: SelfHTML
            Farben - Lehre, Wirkung, Harmonie

            Kommentar


            • #7
              AW: Fehler bei einer Datenbank-Abfrage

              @Blues

              Mir ist aufgefallen das dein Code keine Leerzeichen aufweist.
              Bei mir
              PHP-Code:
              kat '$kat' 
              stehen Leerzeichen. Kann hier der Fehler liegen ?

              Gruß, Mike
              sigpic
              Mike's EEP-Welt CSC Oldenburg
              Link-Sammlung Smily-Sammlung

              Kommentar


              • #8
                AW: Fehler bei einer Datenbank-Abfrage

                kurz noch: woher kommt die variable $query_string?

                fang am besten langsam an:

                1. error_reporting(E_ALL|E_STRICT);
                2. var_dump($_POST);
                3. lass dir deine querys per echo ausgeben (damit die variablen aufgelöst werden) und führ sie unter zuhilfe name von phpmyadmin aus.
                4. es hilft auch immer, seine querys zurückzuentwickeln, streiche also einfach testweise alle WHERE, SORT usw. bedingungen, allerdings eins nach dem anderen. so kannst du den fehler einkreisen....

                gruß
                AC/DC Fanpage www.ifyouwantblood.de
                Nein zur Zensur im Internet und anderswo - Anonymous

                Kommentar


                • #9
                  AW: Fehler bei einer Datenbank-Abfrage

                  Hi all,

                  ich habe jetzt mal alle möglichen Varianten ausprobiert.
                  Sogar eine direkt eingegebene Abfrage
                  PHP-Code:
                  $query "SELECT * FROM eep_free WHERE kon = AB2 ORDER BY name limit {$query_string}"
                  ergab die selbe Fehler-Meldung.

                  @Brian

                  Betreffs der Herkunft von $query_string :
                  PHP-Code:
                  $query mysql_query("SELECT * FROM eep_free");
                  $result mysql_num_rows($query);
                  $entries_per_page '10';
                  $pages ceil($result $entries_per_page);

                  if (empty(
                  $_GET['seite']))
                    {
                    
                  /* Unsere Defaultabfrage */
                    
                  $query_string $entries_per_page;
                    }
                  else
                    {
                    
                  /* Es wurde eine Seite gewählt */
                    
                  $the_start $_GET['seite'] * $entries_per_page $entries_per_page;
                    
                  $query_string $the_start.','.$entries_per_page;
                    } 
                  @all

                  So bald ich die Ausgabe eingrenzen will auf bestimmte Kategorien
                  oder bestimmte Kons, benötige ich die "WHERE"-Angabe.
                  Diese wird aber so nicht angenommen.

                  So langsam beschleicht mich das Gefühl, diese Codierung mag
                  mich nicht.

                  Was kann ich jetzt noch ändern / testen

                  Gruß, Mike
                  sigpic
                  Mike's EEP-Welt CSC Oldenburg
                  Link-Sammlung Smily-Sammlung

                  Kommentar


                  • #10
                    AW: Fehler bei einer Datenbank-Abfrage

                    Um das AB2 sollten Anführungszeichen kommen, sofern das ein String sein soll

                    Kommentar


                    • #11
                      AW: Fehler bei einer Datenbank-Abfrage

                      @No0oB

                      AB2 ist ein direkter Begriff, kein String.
                      Daher werden hier keine Anführungszeichen benötigt.

                      Gruß, Mike
                      sigpic
                      Mike's EEP-Welt CSC Oldenburg
                      Link-Sammlung Smily-Sammlung

                      Kommentar


                      • #12
                        AW: Fehler bei einer Datenbank-Abfrage

                        Und was für ein Datentyp ist es?
                        Auch bei varchar werden diese gesetzt

                        Kommentar


                        • #13
                          AW: Fehler bei einer Datenbank-Abfrage

                          Zitat von sheeba1507 Beitrag anzeigen
                          Hi all,

                          ich habe jetzt mal alle möglichen Varianten ausprobiert.
                          Sogar eine direkt eingegebene Abfrage
                          PHP-Code:
                          $query "SELECT * FROM eep_free WHERE kon = AB2 ORDER BY name limit {$query_string}"
                          ergab die selbe Fehler-Meldung.
                          wenn ich direkt als "manuell" verstehe, ist die abfrage falsch...wie lautet die fehlermeldung?

                          Was kann ich jetzt noch ändern / testen
                          wie gesagt, das zurückentwickeln des querys...

                          PHP-Code:
                          $query "SELECT * FROM eep_free ORDER BY name"
                          PHP-Code:
                          $query "SELECT * FROM eep_free limit {$query_string}"
                          PHP-Code:
                          $query "SELECT * FROM eep_free"
                          eins nach dem anderen probieren. was nicht funktioniert, sollte den fehler behalten.
                          hilfreich ists auch, wie schon gesagt, das ganze in phpmyadmin zu prüfen...
                          AC/DC Fanpage www.ifyouwantblood.de
                          Nein zur Zensur im Internet und anderswo - Anonymous

                          Kommentar


                          • #14
                            AW: Fehler bei einer Datenbank-Abfrage

                            @Brain

                            Die Abfrage soll alle Modelle des Kons AB2 anzeigen.
                            Die Fehlermeldung lautet
                            Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\Dettmann\eep_free_list.p hp on line 36

                            Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\Dettmann\eep_free_list.p hp on line 45
                            Das zurückentwickeln des querys habe ich gemacht.
                            Es werden keine Fehler angezeigt.
                            Lediglich bei der Verwendung von WHERE tritt der Fehler
                            wieder auf.

                            Gruß, Mike
                            sigpic
                            Mike's EEP-Welt CSC Oldenburg
                            Link-Sammlung Smily-Sammlung

                            Kommentar


                            • #15
                              AW: Fehler bei einer Datenbank-Abfrage

                              Hast du die Variablen mal escaped?

                              Kommentar

                              homepage-forum.de - Hilfe für Webmaster! Statistiken

                              Einklappen

                              Themen: 56.767   Beiträge: 429.758   Mitglieder: 28.517   Aktive Mitglieder: 48
                              Willkommen an unser neuestes Mitglied, Mys87.

                              Online-Benutzer

                              Einklappen

                              183 Benutzer sind jetzt online. Registrierte Benutzer: 3, Gäste: 180.

                              Mit 3.502 Benutzern waren am 23.01.2020 um 18:20 die meisten Benutzer gleichzeitig online.

                              Die neuesten Themen

                              Einklappen

                              • Sempervivum
                                Antwort auf Da geht die Post ab oder auch nicht
                                Meinst Du mit e-Brief den Service der Deutschen Post? Da war ich auch Mal und
                                1. War es nicht sehr benutzerfreundlich
                                2. Funktionierte häufig irgend etwas nicht
                                Daher habe ich dann zu onlinebrief24.de gewechselt und bin dort sehr zufrieden. Nur Briefe verschicken, kein Empfang.

                                Oder meintest...
                                Gestern, 22:54
                              • Mys87
                                Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                Hallo,

                                also es gibt im Plesk einen extra Unterpunkt für let's encrypt, da kann ich ein kostenloses Zertifikat erstellen lassen und dann wird man aufgefordert einen DNS Eintrag zu erstellen, siehe Anhang 01.
                                Ich könnte mir vorstellen dass ich die Daten bei - siehe Anhang 02 - eintragen...
                                Gestern, 22:47
                              • Testie
                                Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                Der DNS-Eintrag muss ja schon vorhanden sein, da die Seite sicherlich ohne SSL, also nur http (nicht https) erreichbar ist.
                                DNS steht für Domain Name System und ist ein Protokoll zur Namensauflösung worüber die IP vom Webserver mit der Domain verbunden wird.
                                Mit dem SSL Zertifikat hat...
                                Gestern, 21:04
                              • ST747
                                Da geht die Post ab oder auch nicht
                                hi,

                                jetzt wollte ich mal ganz modern sein und hatte mich bei e-brief angemeldet.angeblich geht alles ganz schnell bis man online seine briefe schreiben kann.
                                dann kam nach ein paar tagen der brief mit dem code für eine verifizierung. nach eingabe des code musste man sich dann noch...
                                Gestern, 20:49
                              • ST747
                                Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                hallo, ich kennes es nur so von meinem provider, man bestellt das für seine domäne und
                                der provider macht dann auch die zuweisung des zertifikates, also den dns-eintrag.
                                frage doch den provider erst einmal ob er das macht.das gehört eigentlich dazu.
                                viele grüße
                                gerhard...
                                Gestern, 20:24

                              Die neuesten Beiträge

                              Einklappen

                              • ST747
                                Da geht die Post ab oder auch nicht
                                hi,

                                jetzt wollte ich mal ganz modern sein und hatte mich bei e-brief angemeldet.angeblich geht alles ganz schnell bis man online seine briefe schreiben kann.
                                dann kam nach ein paar tagen der brief mit dem code für eine verifizierung. nach eingabe des code musste man sich dann noch...
                                Gestern, 20:49
                              • Sempervivum
                                Antwort auf Da geht die Post ab oder auch nicht
                                Meinst Du mit e-Brief den Service der Deutschen Post? Da war ich auch Mal und
                                1. War es nicht sehr benutzerfreundlich
                                2. Funktionierte häufig irgend etwas nicht
                                Daher habe ich dann zu onlinebrief24.de gewechselt und bin dort sehr zufrieden. Nur Briefe verschicken, kein Empfang.

                                Oder meintest...
                                Gestern, 22:54
                              • Mys87
                                SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                Hallo zusammen,

                                da ein SSL-Zertifikat mittlerweile wohl Standard ist würde ich nun auch gerne eins einsetzen. Bin bei evanzo und da habe ich auch schon die Möglichkeit eines kostenloses Zertifikates über let's encrypt gefunden. Nun soll man ein DNS Eintrag erstellen und da komme ich...
                                Gestern, 18:13
                              • Mys87
                                Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                Hallo,

                                also es gibt im Plesk einen extra Unterpunkt für let's encrypt, da kann ich ein kostenloses Zertifikat erstellen lassen und dann wird man aufgefordert einen DNS Eintrag zu erstellen, siehe Anhang 01.
                                Ich könnte mir vorstellen dass ich die Daten bei - siehe Anhang 02 - eintragen...
                                Gestern, 22:47
                              • Testie
                                Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                Der DNS-Eintrag muss ja schon vorhanden sein, da die Seite sicherlich ohne SSL, also nur http (nicht https) erreichbar ist.
                                DNS steht für Domain Name System und ist ein Protokoll zur Namensauflösung worüber die IP vom Webserver mit der Domain verbunden wird.
                                Mit dem SSL Zertifikat hat...
                                Gestern, 21:04
                              • ST747
                                Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                                hallo, ich kennes es nur so von meinem provider, man bestellt das für seine domäne und
                                der provider macht dann auch die zuweisung des zertifikates, also den dns-eintrag.
                                frage doch den provider erst einmal ob er das macht.das gehört eigentlich dazu.
                                viele grüße
                                gerhard...
                                Gestern, 20:24
                              • blommberg
                                Ist IONOS Now geeignet? (Oder Creator?)
                                2. Frage
                                Also: Ich möchte eine Ableger-Seite von meiner Arzt Praxis (www.hno-bremen-west.de) haben, es geht um Hypnose u.ä. Wir sind schon bei IONOS mit der Praxis-Seite, gefällt mir ganz gut.
                                - Es soll vor allem die Möglichkeit bestehen, Audios einzubinden. (Der im anderen Post geäußerte...
                                14.01.2021, 12:04
                              • Megabyte
                                Antwort auf Ist IONOS Now geeignet? (Oder Creator?)
                                Hi blommberg

                                Generell kann man für 5€ nicht meckern: Das ist ok. Aber wenn man für das Einbinden von Audio - eine ultra-primitive Aktion unter HTML5 - ein Profi-Paket buchen muss ist das lächerlich...

                                Falls du auf bei deiner Webseite Zugriff auf das Skript hast (also selber...
                                Gestern, 10:27
                              • blommberg
                                Antwort auf Ist IONOS Now geeignet? (Oder Creator?)
                                Darauf komme ich zurück!



                                Das "now" Paket kostet 5,- monatlich (Domain extra), das geht doch eigentlich, oder?...
                                Gestern, 10:06
                              • Megabyte
                                Antwort auf Php Variable in einen Javascript Array einfügen?
                                Hi Nightland Driver

                                Dein Post ist schon 'ne Weile her und daher weiß ich nicht ob er noch relevant ist. Falls ja habe ich 'nen Tip, falls nein - ignorieren :-)

                                Du schreibst dass der erste Lösungsweg gut ist, aber... "Die idee an sich ist ganz gut, leider müssen vor...
                                14.01.2021, 22:20
                              Lädt...
                              X