[gelöst] mysql_num_rows() expects parameter 1

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

  • [gelöst] mysql_num_rows() expects parameter 1

    Nabend,
    Ich habe ein paar Seiten zum Testen auf den Webserver wieder hoch geladen, aber da funktioniert es nicht wie es soll!
    Ich bekomme sowohl beim Login als beim Gästebuch diese Meldung:
    PHP-Code:
    mysql_num_rows() expects parameter 1 to be resourceboolean given in 
    Angegeben werden diese Zeilen:


    im Gästebuch:
    PHP-Code:
          $sql mysql_query('Select
                            Autor,
                            Datum,
                            Inhalt
                          FROM
                            Gaestebuch
                          ORDER BY
                            Datum DESC'
    );
                    
                      
    $result mysql_num_rows($sql);
           
                  While(
    $row mysql_fetch_assoc($sql)) {  
                       echo 
    '<div class="beitrag">'."\n";
                       echo 
    '    <span class="autor">'.htmlspecialchars($row['Autor'])."</span>\n";
                       echo 
    '    <span class="datum">'.$row['Datum']."</span>\n";
                       echo 
    nl2br(htmlspecialchars(preg_replace('~\S{30}~''\0 '$row['Inhalt'])));
                       echo 
    "</div>\n"
    Beim Login :
    PHP-Code:
    $sql mysql_query("SELECT 
                        id,
                        username, 
                        password,
                        mitglied
                    FROM 
                        Member 
                    WHERE 
                        username 
                    LIKE 
                        '
    $username' LIMIT 1");
        
    $result mysql_num_rows($sql);
        
    $row mysql_fetch_assoc($sql); 
    Bei Google wird mehr über den Poster als über das Problem geredet!
    Ich verstehe nicht, was für eine Parameter er meint?
    Was soll den Boolean da drin?

    Gruß Christian
    Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

  • #2
    mysql_num_rows($sql);
    $sql ist boolean false, weil das vorherige Query wegen einem Error auf die Nase gefallen ist.
    mysql_error() würde dich auf die exakte Stelle/Problem hinweisen

    Bei Google wird mehr über den Poster als über das Problem geredet!
    Das kann dir hier mit mir auch passieren!
    Bei über 100 Postings solltest du debuggen schon ein wenig beherrschen.
    Wir werden alle sterben

    Kommentar


    • #3
      Zitat von combie Beitrag anzeigen
      mysql_num_rows($sql);
      mysql_error() würde dich auf die exakte Stelle/Problem hinweisen

      Das kann dir hier mit mir auch passieren!
      Bei über 100 Postings solltest du debuggen schon ein wenig beherrschen.
      Habe ich versucht, aber da kam nur das selbe raus!
      Um meine Versuche zu erläutern,
      Ich habe versucht mit print mysql_error();
      und mit var_dump($sql); was näheres zu erfahren, da beides nichts ergab, hoffe ich auf eure Hilfe!
      Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

      Kommentar


      • #4
        PHP-Code:
        $result mysql_num_rows($sql);
               
        While(
        $row mysql_fetch_assoc($sql)) 
        Hirn einschalten, über Parameter für mysql_fetch_assoc nachdenken.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich schaue immer nur nach dem rows
          Danke, wieder was gelernt
          Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

          Kommentar


          • #6
            Schaltet doch mal Editieren ein....

            Hirn einschalten, über Parameter für mysql_fetch_assoc nachdenken.
            Hatte ich, es ist alles richtig gewesen!
            Ich habe es nur anders geschrieben!
            Ich speicher den Query immer direkt in sql...
            PHP-Code:
            $sql mysql_query ('Select 
            Dann überprüfe ich die Ausgabe
            PHP-Code:
            $result mysql_num_rows($sql
            und dann kommt die Schleife
            PHP-Code:
            while($row mysql_fetch_assoc($sql)) 
            Wo ist der fehler, anders steht es auch nicht im Manual und nicht im Php 5 Buch!
            Nur im Manual setzt man erst $sql und später dann $result = mysql_query($sql).
            Da darf es doch keine Unterschiede geben.
            Leute die Angst vor dem Tod haben, sind Menschen die sich an einen Traum im Leben klammern

            Kommentar


            • #7
              Nur im Manual setzt man erst $sql und später dann $result = mysql_query($sql).
              Das sieht besser aus und ist logischer.

              ---------
              Da darf es doch keine Unterschiede geben.
              Obwohl es dein propitäres Süppchen ist, sollte das so klappen.
              ---------

              Also nochmal: (bis es sitzt!)
              Bei dieser Meldung:
              mysql_num_rows() expects parameter 1 to be resource, boolean given in
              Bei diesem Ausdruck:
              mysql_num_rows($sql);
              Kann nur dieses die Ursache sein:
              $sql ist boolean false, weil das vorherige Query wegen einem Error auf die Nase gefallen ist.
              mysql_error() würde dich auf die exakte Stelle/Problem hinweisen
              Wir werden alle sterben

              Kommentar


              • #8
                Zitat von Skywalker077 Beitrag anzeigen
                Ich speicher den Query immer direkt in sql...
                PHP-Code:
                $sql mysql_query ('Select 
                Schon die Ausdrucksweise deutet darauf hin, dass du nicht gerade viel Ahnung hast, was du tust.

                Dann überprüfe ich die Ausgabe
                PHP-Code:
                $result mysql_num_rows($sql
                Wenn ein Fehler bei der Ausführung der Query aufgetreten ist, dann fliegt dir auch das schon um die Ohren.

                Nur im Manual setzt man erst $sql und später dann $result = mysql_query($sql).
                Da darf es doch keine Unterschiede geben.
                Wenn man das so macht, dann kann man sehr einfach die Query mal zur Kontrolle ausgeben lassen.

                Und wenn der Rückgabewert von mysql_query darauf hindeutet, dass es einen Fehler gab, dann fragt man bei der Datenbank auch mal explizit, was für einen - mysql_error.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X