michael: warning bei mysql_result() die keinen sinn ergibt?

hallo,

ich bekomme eine fehlermeldung bei folgendem schleifchen:

foreach($label_portfolio as $value) {
      $qry_refnr = mysql_query("select refnr from royal_object where object_id = $value");
      $refnr = mysql_result($qry_refnr,0);
      echo "<a href='$value'>$refnr</a> ";
     }

und zwar folgende meldung:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource

ich dachte zuerst, dann stimmt was mit dem sql-statement nicht, das ist 100% richtig - habs direkt in der DB ausprobiert.
komischerweise beiinhaltet $refnr auch den richtigen wert ???
ich meine , ich kann zwar einfach ein @ vor das mysql_result setzen, dann klappt alles wunderbar, aber ich wüßte doch schon gern, woher diese warning kommt??

vielleicht hab ich auch gerade ein brett vorm kopf...?

grüße,
michael

  1. Hallo michael,

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

    Standard(gegen)frage: was sagt mysql_error()?

    vielleicht hab ich auch gerade ein brett vorm kopf...?

    vielleicht solltest du einfach den Computer ausschalten und morgen weitermachen :-)

    Grüße aus Nürnberg
    Tobias

    --
    [remote-signature:http://www.to-kl.de/self/sig/sig.php]
    1. hi,

      Standard(gegen)frage: was sagt mysql_error()?

      mysql_error sagt:
      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 '' at line 1

      aber wenn ich das sql-statement einfach so in via mysql-Frontend abgebe,
      klappt es tadellos - und das richtige ergebnis kommt auch raus dabei ??  das ergibt doch keinen sinn, oder?

      object_id ist der primäschlüssel oder können eingentlich auch keine "'" falsch gesetzt sein, weil ich gar keine benutze ??

      vielleicht solltest du einfach den Computer ausschalten und morgen weitermachen :-)

      vielleicht ja - aber bis ein uhr werd ich noch weitermachen ;-)

      grüße,
      michael

      1. Hallo michael,

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

        Es ist stets eine gute Idee, das SQL-Statement einer Variablen zuzuweisen, etwa in der Form:

        $strSQL = "select refnr from royal_object where object_id = $value";

        Dann hat man die Chance das SQL-Statement auszugeben:

        echo $strSQL; # später auskommentieren

        Anschließend schickt man die Abfrage ab.

        $qry_refnr = mysql_query($strSQL) or die("Anfrage fehlgeschlagen: " . mysql_error());;

        Freundliche Grüsse,

        Vinzenz

        1. Moin!

          Es ist stets eine gute Idee, das SQL-Statement einer Variablen zuzuweisen, etwa in der Form:

          $strSQL = "select refnr from royal_object where object_id = $value";

          Dann hat man die Chance das SQL-Statement auszugeben:

          echo $strSQL; # später auskommentieren

          Anschließend schickt man die Abfrage ab.

          $qry_refnr = mysql_query($strSQL) or die("Anfrage fehlgeschlagen: " . mysql_error());;

          Oh ja! Ich weiss nicht, wie oft das hier schon vorgebetet wurde. Ich möchte echt mal wissen woher das falsche Beispiel kommt, welches da alle nachprogrammieren.
          Ich darf mich also beim Frager danach erkundigen, wer denn der "geniale" Autor des Werkes sei, der so vielen das so falsch vorgemacht hat?

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix®

          --
          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
          1. Hallo fastix®,

            Oh ja! Ich weiss nicht, wie oft das hier schon vorgebetet wurde. Ich möchte echt mal wissen woher das falsche Beispiel kommt, welches da alle nachprogrammieren.

            Es ist stets eine gute Idee, das SQL-Statement einer Variablen zuzuweisen, etwa in der Form:

            $strSQL = "select refnr from royal_object where object_id = $value";

            Dann hat man die Chance das SQL-Statement auszugeben:

            echo $strSQL; # später auskommentieren

            Auf die Idee

            1.  SQL-Anweisung beliebig kompliziert zusammenzustellen
            1a. SQL-Anweisung zu Debugzwecken auszugeben
            2.  SQL-Anweisung dem DBMS zur Verarbeitung zu übergeben
            3.  Ggf. vorhandene Fehlermeldungen des DBMS auswerten.

            bin ich - wie viele andere - selbst gekommen. Ich stehe nach wie vor dazu, dass diese Vorgehensweise, unabhängig von der verwendeten Programmiersprache richtig ist.

            Ich darf mich also beim Frager danach erkundigen, wer denn der "geniale" Autor des Werkes sei, der so vielen das so falsch vorgemacht hat?

            Ich bin nicht der Frager, aber ich gestatte Dir gerne, Dich bei diesem zu erkundigen. *g*

            $qry_refnr = mysql_query($strSQL) or die("Anfrage fehlgeschlagen: " . mysql_error());;

            Diese Zeile ist aus

            [1] dem Quellcode des OP
            [2] aus meiner Zeichenkettenzuweisung
            [3] dem PHP-Manual http://www.php.net/manual/de/ref.mysql.php#AEN64021

            zusammengestellt.

            Bitte beachte die Verwendung des or-Operators, der in der Reihenfolge erst _nach_ dem Zuweisungsoperator kommt - im Gegensatz zum ||-Operator, der in der Reihenfolge _vor_ dem Zuweisungsoperator kommt.

            Deswegen bin ich durchaus der Ansicht, dass das Beispiel _weitgehend_ richtig und nützlich zur Behebung von Programmierfehlern ist.

            Wie würdest Du vorgehen?

            Freundliche Grüsse,

            Vinzenz

            1. Moin Vinzenz!

              Du kennst meine Beiträge zu dem Thema nicht, sonst wäre Dir klar gewesen, wiesehr Du mir aus dem Herzen gesprochen hast. Ich wollte nur vom Frager wissen, woher er den von Dir monierten Unsinn hat.

              Beachte die Überschrift:
              </archiv/2004/1/68494/#m393037>

              Und vor allem das fast alle diesbezüglichen Fragen erschlagende Machwerk, welches auf den ersten Blick dennoch einen Fehler enthält. Wer findet ihn? Tip: "Südosteuropa" (Naja. Soweit ist es nicht, 2 bis 3 Staatsgrenzen ab Deutschland)
              </archiv/2004/3/76197/#m438820>

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix®

              --
              Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
              1. Hallo fastix,

                Du kennst meine Beiträge zu dem Thema nicht, sonst wäre Dir klar gewesen, wiesehr Du mir aus dem Herzen gesprochen hast. Ich wollte nur vom Frager wissen, woher er den von Dir monierten Unsinn hat.

                Sicher, nicht ausgeschlafen genug *g*.

                Beachte die Überschrift:
                </archiv/2004/1/68494/#m393037>

                Das sieht man oft: Wie erzeuge ich nichts aussagende Meldungen, obwohl ich doch alles zur Verfügung habe. Ist es nicht sogar schlimmer als gar nicht zu wissen, dass man sich auch Fehlermeldungen anzeigen lassen kann?

                Und vor allem das fast alle diesbezüglichen Fragen erschlagende Machwerk, welches auf den ersten Blick dennoch einen Fehler enthält. Wer findet ihn? Tip: "Südosteuropa" (Naja. Soweit ist es nicht, 2 bis 3 Staatsgrenzen ab Deutschland)
                </archiv/2004/3/76197/#m438820>

                _Der_ ist wirklich sehr schön, eigentlich eine Standardantwort für solche Threads. Du warst geizig, hast wenig Punkte verteilt, mir ein neues Wort beigebracht (Bregen). Meine Google-Suche http://www.google.de/search?q=Srtring&ie=UTF-8&hl=de&btnG=Google-Suche&meta= hat mir keine Orte südöstlich von Deutschland geliefert. Kannst Du mir weiterhelfen?

                Freundliche Grüsse,

                Vinzenz

                1. Moin!

                  Meine Google-Suche
                  http://www.google.de/search?q=Srtring&ie=UTF-8&hl=de&btnG=Google-Suche&meta=
                  hat mir keine Orte südöstlich von Deutschland geliefert. Kannst Du mir weiterhelfen?

                  Da fehlten ein paar $- Zeichen ein paar #, Punkte wohl auch, das stand aber schon drunter. Ganz in der Nähe hab ich aber bei der versuchten ungarischen Notation einen bisher übersehenen Fehler gemacht: $intResult ist alles mögliche, aber definitv kein Integer- Wert. $resResult wäre richtiger, wenn auch doppelt gemoppelt.

                  MFFG (Mit freundlich- friedfertigem Grinsen)

                  fastix®

                  --
                  Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  2. Hello,

    ich bekomme eine fehlermeldung bei folgendem schleifchen:

    foreach($label_portfolio as $value) {
          $qry_refnr = mysql_query("select refnr from royal_object where object_id = $value");
          $refnr = mysql_result($qry_refnr,0);
          echo "<a href='$value'>$refnr</a> ";
         }

    und zwar folgende meldung:
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource

    Schau Dir doch einfach mal an, welche Attribute für die Query-Funktion benötigt werden.

    http://de.php.net/manual/de/function.mysql-query.php

    Wie hast Du denn die Connection-ID für den Zugriff auf die DB erzeugt?

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau