local geht es - aber online nicht?!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    du hast 2 Tabellen: spiele (alias h) und verein (alias v) wenn spieltag in spiele ist, dann sollst du mit h.spieltag ansprechen, sonst als v.spieltag. Alles klar?

    mach mal:
    PHP Code:
    $sql "select ...";
    echo 
    $sql
    was erhältst du?

    Comment


    • #17
      sorry, bin ein bißchen auf der leitung gestanden.
      habe jetzt auf h.spieltag ausgebessert.
      auf meinem rechner kommt bei echo $tabelle -> Resource id #23
      online erscheint folgende fehlermeldung:
      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .../htdocs/jedenspeigen/tabelle.php on line 135
      und:
      You have an error in your SQL syntax near 'INNER JOIN verein v1 ON s.id_heimverein = v1.id INNER JOIN verein v2 ON s.id_g' at line 7

      Comment


      • #18
        willst du mich veräppelt oder was

        die Abfrage hat nichts mit deiner geposteten Abfrage zu tun. Poste bitte die, die auch Fehler erzeugt und nicht irgendwas

        ausserdem mysql_error auch überall eingesetzt? was ist denn $tabelle?

        Comment


        • #19
          das war die fehlermeldung aus der zweiten abfrage in tabelle.php. diese hab ich jetzt herausgenommen und außerdem habe ich $tabelle in $sql geändert.
          mysql_error() habe ich auch herausgenommen.

          echo $sql gibt folgendes aus:
          PHP Code:
          Warningmysql_fetch_array(): 
          supplied argument is not a valid MySQL result resource 
          in 
          /.../tabelle.php on line 135 
          in line 135 steht:
          PHP Code:
          while($row mysql_fetch_array($sql)) 

          Comment


          • #20
            und wie sieht $sql aus ? es wäre für dich hilfreich, wenn du unsere Bitte auch nachgehst . Denn ich habe dich drum gebeten:
            Original geschrieben von asp2php


            mach mal:
            PHP Code:
            $sql "select ...";
            echo 
            $sql
            was erhältst du?
            was hast du damit gemacht?
            Last edited by asp2php; 31-08-2004, 14:08.

            Comment


            • #21
              $sql = "SELECT...";
              echo $sql;
              ergibt:
              PHP Code:
              SELECT v.name
              SUM(IF(h.id_heimverein v.idh.heimtoreh.gasttore)) AS Tore
              SUM(IF(h.id_heimverein v.idh.gasttoreh.heimtore)) AS Gegentore
              SUM( IF(h.id_heimverein v.id, IF(h.heimtore h.gasttore3
              IF(
              h.heimtore h.gasttore10)), 
              IF(
              h.heimtore h.gasttore3, IF(h.heimtore h.gasttore10)) ) ) AS Punkte
              SUM((h.id_heimverein v.id OR h.id_gastverein v.id
              AND 
              h.heimtore IS NOT NULL) AS Spiele
              SUM( IF(h.id_heimverein v.id, IF(h.heimtore h.gasttore10), 
              IF(
              h.heimtore h.gasttore10) ) ) AS Siege
              SUM( IF(h.id_heimverein v.id OR h.id_gastverein v.id
              IF(
              h.heimtore h.gasttore10), 0) ) AS Unentschieden
              SUM( IF(h.id_heimverein v.id, IF(h.heimtore h.gasttore10), 
              IF(
              h.heimtore h.gasttore10) ) ) AS Niederlagen
              SUM( (IF(h.id_heimverein v.idh.heimtoreh.gasttore)) - 
              (IF(
              h.id_heimverein v.idh.gasttoreh.heimtore)) ) AS Tordifferenz 
              FROM verein v INNER JOIN spiele h 
              ON 
              (h.id_heimverein v.id OR h.id_gastverein v.id
              WHERE h.spieltag <= 
              GROUP BY v
              .name 
              ORDER BY Punkte DESC
              Tordifferenz DESC
              Tore DESCv.name ASC 

              Comment


              • #22
                PHP Code:
                $sql mysql_query("SELECT  v.name 
                FROM verein v 
                ORDER BY v.name ASC"
                ); 
                diese abfrage funktioniert einwandfrei. wenn ich aber mit einer SUM(...) abfrage erweitere, kommt mir wieder die fehlermeldung (siehe oben)

                Comment


                • #23
                  alle überflüssigen Leerzeichen entfernen, z.B. zwischen den Klammern, vor dem IF, ...

                  Comment


                  • #24
                    habe die ganze abfrage in eine zeile gepackt. es kommt aber die selbe fehlermeldung
                    nur nach den beistrichen habe ich vor dem IF einen abstand. soll ich den auch entfernen?

                    Comment


                    • #25
                      Vorschlag: step by step debugging: du nimmst alle SUM bis auf eine raus, mach die Abfrage, wenn kein Fehler, nächste SUM hinzu usw.

                      Merke: keine überflüssige Leerzeichen, das mag MySQL nicht. Im Prinzip brauchst du vor und nach Operatoren auch kein Leerzeichen. Sie können aber weiterhin bestehen bleiben, denn hier ist ausnahmweise zulässig.

                      Comment


                      • #26
                        echo $sql:
                        PHP Code:
                        SELECT v.nameSUM(IF(h.id_heimverein=v.idh.heimtoreh.gasttore)) AS Tore 
                        FROM verein v INNER JOIN spiele h 
                        ON 
                        (h.id_heimverein=v.id OR h.id_gastverein=v.id
                        WHERE h.spieltag <= 4 GROUP BY v.name 
                        ORDER BY Tore DESC
                        v.name ASC 
                        fehlermeldung wie bisher:
                        Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

                        Comment


                        • #27
                          Nee, nicht wie bisher . Bisher heißt es ja: "you have an error syntax ..."

                          hier: du hast vor Verwendung kein mysql_result abgesetzt, oder der falsche result resource an mysql_fetch_array übergeben.

                          BTW: liest du die Fehlermeldung nicht, oder kannst du sie nicht interpretieren?

                          Comment


                          • #28
                            ich lese die fehlermeldungen schon, aber ich kann sie nicht immer zuordnen.
                            ich habe jetzt folgendes:
                            PHP Code:
                            $sql mysql_query(
                            "SELECT v.name, SUM(IF(h.id_heimverein=v.id, h.heimtore, h.gasttore)) AS Tore 
                            FROM verein v 
                            INNER JOIN spiele h ON (h.id_heimverein=v.id OR h.id_gastverein=v.id) 
                            WHERE h.spieltag <= 4 
                            GROUP BY v.name 
                            ORDER BY Tore DESC, v.name ASC"
                            );
                            while(
                            $row mysql_fetch_array($sql)) 
                            {...} 
                            fehlermeldung:
                            Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
                            ich habe es auch schon mit mysql_fetch_row() versucht, geht auch nicht

                            Comment


                            • #29
                              dein Code ist schlampig bitte folgendes angewöhnen:
                              PHP Code:
                              $sql "select ...";
                              $res mysql_query($sql,$connection) or die(mysql_error());
                              while(
                              $row=mysql_fetch_array($res)) {...} 
                              Nach dieser Änderung, was bekommst du für Fehlermeldung?

                              Comment


                              • #30
                                habe den code geändert. fehlermeldung:
                                You have an error in your SQL syntax near 'INNER JOIN spiele h ON (h.id_heimverein=v.id OR h.id_gastverein=v.id) WHERE h.sp' at line 1

                                Comment

                                Working...
                                X