Variable wird nicht akzeptiert

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

  • Variable wird nicht akzeptiert

    Hallo Usergemeinde!
    Ich habe wieder ein Problem!
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in Bla/bla/bla
    Nun hier ist der text:
    PHP-Code:
    $pquery mysql_query ("SELECT user_show_post 
        FROM c_user 
        WHERE user_name='" 
    mysql_real_escape_string($user) . "'");
    while (list (
    $user_show_post) = mysql_fetch_row($pquery)) {
        echo 
    $user_show_post//Ist nur drim um zu gucken ob auch was gefunden wird...
    }

    $query mysql_query ("SELECT *
        FROM   c_msg
        ORDER BY msg_id DESC 
        LIMIT " 
    mysql_real_escape_string($user_show_post) . "");

    while (list (
    $msg_id$msg_poster$msg_text$msg_date) = mysql_fetch_row ($query)) {
    TU_WAS!

    Wenn ich bei LIMIT eine Zahl eingebe ( also 5 oder so) Dann läuft alles einwandfrei. Doch sobald ich den das mit dem "mysql_real_escape_string($blup)" rein mache geht es nicht mehr. Warum nicht?

    P.s.: Bin ich im richtigen Forum?
    Zuletzt geändert von Helix; 14.10.2009, 20:48. Grund: frage

  • #2
    Debuggen mit:

    PHP: mysql_error - Manual

    PHP: var_dump - Manual

    Kommentar


    • #3
      Das hilft mir leider nicht weiter

      Kann es sein das die Variable $user_show_post nur innerhalb der while-schleife gilt?

      Kommentar


      • #4
        PHP-Code:
        $sql "
            SELECT  user_show_post 
            FROM    c_user 
            WHERE   user_name = '" 
        mysql_real_escape_string($user) . "'
            LIMIT   1
        "
        ;

        $result mysql_query($sql);

        if (
        $row mysql_fetch_assoc($result)) {
            
        $sql "
                SELECT    msg_id
                FROM      c_msg
                ORDER BY  msg_id DESC 
                LIMIT     " 
        . (int)$row['user_show_post'] . "
            "
        ;
            
            
        $result mysql_query($sql);
            
            while (
        $row mysql_fetch_assoc($result)) {
                
        // Daten verarbeiten
            
        }
        } else {
            echo 
        "User nicht gefunden.";

        Du solltest übrigens kein SELECT * verwenden, sondern genau die Spalten selektieren, die du haben willst.
        Zuletzt geändert von h3ll; 14.10.2009, 21:37.

        Kommentar


        • #5
          Das hilft mir leider nicht weiter
          Das sollte dir aber weiterhelfen. Zur Not schau auch noch mal in die Regeln, da wird erläutert, wie du mysql_error einzusetzen hast.

          Kann es sein das die Variable $user_show_post nur innerhalb der while-schleife gilt?
          Prinzipiell: Nein!
          Zuletzt geändert von TobiaZ; 14.10.2009, 21:33.

          Kommentar


          • #6
            Zitat von TobiaZ Beitrag anzeigen
            Zur Not schau auch noch mal in die Regeln
            Oder hier. Da gibt es auch noch ein paar Tipps zum Debuggen.

            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Zitat von TobiaZ Beitrag anzeigen
              Das sollte dir aber weiterhelfen. Zur Not schau auch noch mal in die Regeln, da wird erläutert, wie du mysql_error einzusetzen hast.

              Prinzipiell: Nein!
              Ich habe beide angaben benutzt (mysql_error) schon vorher und bin nicht schlauer geworden.

              Aus den Regeln bin ich auch nicht schlau geworden. Gegooglet habe ich auch schon ne weile.

              @h3ll:
              Ich wollte durch die erste query bestimmen wie der LIMIT wert in der 2ten zu bestimmen.
              Zitat von h3ll Beitrag anzeigen
              Du solltest übrigens kein SELECT * verwenden, sondern genau die Spalten selektieren, die du haben willst.
              Mach ich auch nie. Doch in meinem Fall brauche ich alles. Dennoch danke für die Tipps.
              Achja: Es funtioniert jetzt. Ich muss nurnoch ein paar dinge ändern und den Text verstehen... THX!
              Zuletzt geändert von Helix; 14.10.2009, 21:47.

              Kommentar


              • #8
                Zitat von Helix Beitrag anzeigen
                Aus den Regeln bin ich auch nicht schlau geworden.
                Das sind aber Grundlagen.
                Zitat von Helix Beitrag anzeigen
                @h3ll:
                Ich wollte durch die erste query bestimmen wie der LIMIT wert in der 2ten zu bestimmen.
                Schon mal an Joins gedacht?

                Peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Hallo,

                  bau doch mal vor der zweiten Abfrage ein var_dump($user_show_post) ein und sieh dir die Ausgabe davon unmittelbar vor der Fahlermeldung an.

                  Gruß,

                  Amica
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Ich habe beide angaben benutzt (mysql_error) schon vorher und bin nicht schlauer geworden.
                    Warum zeigst du uns das nicht in deinem Code?

                    Zudem hätte uns die Ausgabe hier interessiert. Vielleicht werden wir daraus schlau und können dir den entscheidenden Tipp geben.

                    Kommentar


                    • #11
                      Hallo,

                      das Problem hier ist das eine Variable, welche in der Bedingung einer Schleife mit list erstellt wird nur während der Schleife existiert.
                      So sollte es gehen:
                      PHP-Code:
                      while ($ds mysql_fetch_row($pquery)) { 
                         
                      $user_show_post=$ds[0];

                      Den Fehler hätte man auch durch ein richtiges error_reporting finden können.

                      Kommentar


                      • #12
                        Eine while-Schleife ist hier überhaupt komplett unpassend. Schließlich will man ja nur einen einzigen Wert und nicht mehrere.

                        Kommentar


                        • #13
                          Kropff hatte ja bereits das Thema Joins ins Spiel gebracht.

                          Kommentar

                          Lädt...
                          X