[Funktion] Was ist daran falsch?

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

  • [Funktion] Was ist daran falsch?

    Hi.

    Ich würde gerne wissen, ob einer von euch vielleicht weiss, was daran flasch sein könnte.

    PHP-Code:
    404:  function print_submenu_content($tscat$tssub)
    405:  {
    406:  
    407:         $tsmenuresult = @mysql_query("SELECT * FROM ".$tscat." WHERE category='".$tssub."'");
    408:      $tsmenudata mysql_fetch_array($tsmenuresult);
    409:  
    410:      echo("
    411:          <p><b>"
    .$tsmenudata[category]."</b>
    412:      "
    );
    413:  
    414:      $subornot ".$tsmenudata[submenu].";
    415:  
    416:      $screquete "SELECT * FROM ".$scat." WHERE category='".$ssub."'";
    417:      $scresult = @mysql_query($screquete);
    418:  
    419:      while ($subDb =mysql_fetch_object($scresult))
    420:      {
    421:          if($subornot == 1)
    422:          {
    423:              echo("
    424:                    <br>..::]<a href='
    $subDb->link'>$subDb->name</a>
    425:              "
    );
    426:          }
    427:          else
    428:          {
    429:              echo("
    430:                  <br>'
    $subDb->text'
    431:              "
    );
    432:          }
    433:      }
    434:  } 
    Es erscheint de Fehlermeldung:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/confixxhome/web297/html/test/functions.php on line 419
    Connection zur db ist bereits aufgebaut.
    Server OS ist Unix.
    keine besonderen Einstellungen in der php.ini.

    Mir fällt bei besten Willen keine Lösung ein.
    Ich wäre sehr dankbar für eure Hilfe.

    Greetz
    HPINC
    Zuletzt geändert von [=-!H.P.INC.!-=; 10.09.2003, 00:30.

  • #2
    Mach mal mysql_query('DEINE_QUERY') OR die(mysql_error());

    PHP-Code:
    $screquete "SELECT * FROM ".$scat." WHERE category='".$ssub."'"
    Die Variablen $scat und $ssub sind doch gar nicht vorhanden, oder habe ich da was übersehen?

    Kommentar


    • #3
      Hi.

      mysql_error() gibt aus:
      You have an error in your SQL syntax near '$screquete' at line 1
      Dabei ist line 1 : "<?" um php zu starten.

      Die Variable $screquete ist aber auf line 416.
      PHP-Code:
      416:      $screquete "SELECT * FROM ".$scat." WHERE category='".$ssub."'"
      Ist da etwa ein Syntaxfehler drin? Also ich sehe da keinen.
      blackhole hat folgendes geschrieben:
      Die Variablen $scat und $ssub sind doch gar nicht vorhanden, oder habe ich da was übersehen?
      Diese beiden Variablen werden von einer anderen Datei aus übergeben, das habe ich vergessen zu schreiben.

      Kann mir vielleicht irgendwer weiterhelfen?

      Greetz
      HPINC

      Kommentar


      • #4
        Diese beiden Variablen werden von einer anderen Datei aus übergeben, das habe ich vergessen zu schreiben.
        Da es sich hier aber um eine Funktion und damit mit einem separaten Geltungsbereich handelt, musst du entweder die Variablen als Argument mitgeben oder aber
        PHP-Code:
        global $scat$ssub
        an den Anfang der Funktion setzen.
        Zuletzt geändert von blackhole; 10.09.2003, 01:11.

        Kommentar


        • #5
          Hi.

          Ich habs so gemacht, aber nichts hat das verändert. und das übergeben der Variablen in die Funktion hat ja schon geklappt.
          Daran kann es also nicht liegen.

          Jetzt habe ich immernoch die Fehlermeldung:
          You have an error in your SQL syntax near '$screquete' at line 1
          und der erste Teil der Funktion funktioniert ja auch.
          PHP-Code:
          407:         $tsmenuresult = @mysql_query("SELECT * FROM ".$tscat." WHERE category='".$tssub."'");
          408:      $tsmenudata mysql_fetch_array($tsmenuresult);
          409:  
          410:      echo("
          411:          <p><b>"
          .$tsmenudata[category]."</b>
          412:      "
          ); 
          Also ich versteh die Welt nicht mehr.
          Ich brauche Hilfe!!

          Greetz
          HPINC

          Kommentar


          • #6
            mach mal ein print $screquete; und poste mal, was ausgegeben wird.

            Kommentar


            • #7
              Hi.

              Habe ich gemacht.
              Es wird folgendes Ausgegeben:
              SELECT * FROM site_submenu WHERE category='home'
              So soll es auch sein.
              Und dann kommt der Synatfehler (den es garnicht gibt?).

              Es gibt doch garkeinen Synatxfehler, oder?


              EDIT:
              Hat sich erledigt. Ich musste nur die ' bei dem querry entfernen.


              Greetz
              HPINC
              Zuletzt geändert von [=-!H.P.INC.!-=; 10.09.2003, 02:55.

              Kommentar

              Lädt...
              X