Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Empfohlene Antworten

Veröffentlicht

Hallo liebe Leute

ich habe ein kleines Problem mit meiner Homepage. (Reptilen am Kaisetrstuhl)

Also....

ab und an wenn ich mich anmelde sieht mein Profil dann so aus...

84179170.png

obwohl es so auszusehen hätte...

19951832.png

der große Witz an der ganzen Sache ist , dass wenn ich mich dann ein 2tes Mal anmelde erscheint mein Profil fehlerlos... :confused::confused::confused:...

Der böse Fehler scheint hier zu stecken...


<?

//  Variablen holen

$uid = $_SESSION["user_id"];


    // Id und Name der Reptilien des ausgewählten Halters ermittlen... wenn vorhanden.


    include("./connect.php");

    $sql = 'SELECT

            Id, Name

            FROM

            `Reptilien`

            WHERE

            IdHalter = '.$uid.';';

    $result = mysql_query ($sql);


      // WENN Datensätze betroffen sind

      if (mysql_num_rows($result )>0) {               //<--Das ist die pöse Zeile


        // Id und Name der Reptilien des ausgewählten Halters in Array packen

        for($x=0;$res = mysql_fetch_row($result);$x++)

          $reptiles[($res[0])] = $res[1];


        /*

         * Hier wird das Formular ausgegeben .....

         */


        }

      ?>

Der Code ist selbstverständlich gekürzt. Nun ... dass die Fehlermeldung mir beibringen will, dass der Fehler eher oben in der SQL-Query liegt habe ich gerade noch verstanden. Aber wo genau?!?!? Datensätze sind vorhanden, beweist offensichtlich der 2te Versuch. Nur warum funktioniert das nicht?? Und was ich noch viel schlimmer finde ist der Zufall:eek

Naja vllt weiß mir einer Bescheid

Dank gilt schon mal im voraus

Griäsli

De Kaiserstiähla

Datensätze sind vorhanden, beweist offensichtlich der 2te Versuch.

Es geht nicht um Datensätze sondern um die Definitheit Deiner Variablen


$uid = $_SESSION["user_id"];


    $sql = 'SELECT

            Id, Name

            FROM

            `Reptilien`

            WHERE

            IdHalter = '.$uid.';';

    $result = mysql_query ($sql);


     if (mysql_num_rows($result )>0)

generell würde ich statt eines Includes ein Include_Once bzw sogar gerade bei DB Connectiondaten ein Require verwenden.

Zum Problem: Was steht beim ersten Aufruf der Session "$_SESSION["user_id"]" drin? Wie ist dann die Variable $uid initialisiert => wird danach das SQL Statement syntaktisch korrekt erzeugt. Deine Fehlermeldung besagt nichts über Datensätze, sondern dass $result kein gültiger SQL Handle ist, d.h. Deine Query liefert einen Fehler, den Du generell abfangen solltest. Beachte immer, dass Du definierte Variablen hast und fange Fehler auch ab

  • Autor

Also hier zum Profil wird man direkt von einer, dem Browser unsichtbaren Seite, gelenkt. In dieser Datei bekommt man anhand der Daten die man zu Anmeldung eingegeben hat eine session-userId zugewiesen.

Wie ist dann die Variable $uid initialisiert

Versteh nicht ganz wie du meinst ... mit ner Zahl halt.:rolleyes:

auch wie man Fehler abfängt weiß ich gar nicht :rolleyes: ich hab mich in php und SQL nur ein bisschen belesen ich bin quasi laie.mal schaun was google mir beibringen kann. Die Lösung sehe ich leider nicht...

grüße

Ich würde Dich bitten, da Du anscheinend noch wenig Erfahrung hast, bevor Du Dich an solche Sachen wagst wie Sessions erst einmal Grundkenntnisse in der Programmierung Dir anzuschauen.

Denn Du gibst bei fehlerhafter Programmierung jemanden die Möglichkeit in Deiner Seite Code einzuschleusen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.