parse error bei sql abfrage

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

  • parse error bei sql abfrage

    hallo foren-gemeinde!

    bin php newbie, hoffe dennoch mein problem(chen) verständlich darlegen zu können. habe einen code, der dazu dient ein drop-down menü zur sprachauswahl zu generieren. dabei bekomme ich allerdings eine fehlermeldung. habe bereits gegoogelt, aber leider komme ich nicht weiter und bitte um hilfe. danke!

    der code:

    PHP-Code:
    <PHP>
    $sql "SELECT b.idlang, c.name FROM ((".$d_db['cat_side']." AS a 
    INNER JOIN "
    .$d_db['side_lang']." AS b ON a.idside = b.idside) 
    INNER JOIN "
    .$d_db['lang']." AS c ON b.idlang = c.idlang) 
    INNER JOIN "
    .$d_db['side']. " AS d ON a.idside = d.idside WHERE (a.idcatside=" $idcatside" ) 
    AND (d.idclient=" 
    $client ") AND (b.online=1)";
    $db->query($sql);
    if (
    $db->affected_rows()) {
        echo 
    "<form name=\"langform\" method=\"post\">\n";
        echo 
    "<input type=\"hidden\" name=\"idcatside\" value=\"" $idcatside "\">\n";
        echo 
    "<select name=\"lang\" onChange=\"langform.submit()\">\n";
        while (
    $db->next_record()) {
            if (
    $lang == $db->f('idlang')) echo '<option selected value="'.$db->f('idlang').'">'.$db->f('name')."</option>\n";
            else echo 
    '<option value="'.$db->f('idlang').'">'.$db->f('name')."</option>\n";
        }
        echo 
    "</select></form>";
    }
    </
    PHP
    fehlermeldung:
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
    in /home/x/www/x/cms/bnd.php(235) : eval()'d code on line 1086
    was in zeile 1086 steht, kann ich nicht herausfinden, da im quelltext (internet explorer) nichts steht...
    Zuletzt geändert von phpsugar; 30.11.2006, 15:51.

  • #2
    gemeint ist die zeile deines php-codes!

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

    Kommentar


    • #3
      Hi,
      was in zeile 1086 steht, kann ich nicht herausfinden, da im quelltext (internet explorer) nichts steht...
      Aha... und woher weisst Du bei der Größenordnung dann, dass der Fehler in dem kleinen Schnipsel liegt? Es gibt übrigens Editoren mit Syntaxchecker, die bei einem Parseerror sogar direkt in die fehlerhafte Zeile springen.

      LG

      Kommentar


      • #4
        Original geschrieben von kuddeldaddeldu
        Hi,Aha... und woher weisst Du bei der Größenordnung dann, dass der Fehler in dem kleinen Schnipsel liegt?
        vorher nachdenken, dann schreiben klar, dass es um den php code geht. ich nehme aber an, dass der fehler hier liegt, weil ohne diesen code der fehler eben nicht auftritt. logisch oder nicht?

        im übrigen handelt es sich um ein cms. der code sollte in form eines modules eingebaut werden > das funktioniert auch. allerdings möchte ich das umgehen. lange rede kurzer sinn. vielleicht hat noch jemand einen tipp wo das problem liegt.

        ich suche mal nach diesen tollen editoren

        Kommentar


        • #5
          PHP-Code:
          <PHP
          du hast doch den php-code nicht so eingebunden?

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

          Kommentar


          • #6
            Original geschrieben von Kropff
            PHP-Code:
            <PHP
            du hast doch den php-code nicht so eingebunden?
            so ähnlich. mit einem kürzel, das für das cms vorgesehen ist. das funktioniert auch bei anderen php-code-fragmenten. bin mir sehr sicher, dass es nicht daran liegt. ein anderer code, der ebenso eingebunden ist (an der selben stelle) wird problemlos durchgeführt.

            es muss - soweit ich das beurteilen kann - an der schreibweise (' "" leerzeichen ; oder dergleichen) zu tun haben

            Kommentar


            • #7
              ich nehme aber an, dass der fehler hier liegt, weil ohne diesen code der fehler eben nicht auftritt.
              Ja, nett, dass Du uns vorher erzählst, was Du schon alles probiert hast.
              Habe gerade erst gesehen, dass der Fehler in einem eval() auftritt. Das ist ein CMS? Vermute mal, eins von den vielen OpenSource-Systemen und Du hast versucht, Deinen Code da einzubinden. Vermute weiter, dass das CMS den Code mit eval() auswertet? Ein bischen gesprächiger musst Du schon werden.

              LG

              Kommentar


              • #8
                an diesem code liegt es nicht habe nur alles mit $db-> auskommentiert, und bekomme keine fehlermeldung, die $db-> sachen sind auch ok. der fehler liegt wohl woanders.
                PHP-Code:
                eval()'d 
                mal das angesehen?

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

                Kommentar


                • #9
                  Original geschrieben von kuddeldaddeldu
                  Ja, nett, dass Du uns vorher erzählst, was Du schon alles probiert hast.
                  Habe gerade erst gesehen, dass der Fehler in einem eval() auftritt. Das ist ein CMS? Vermute mal, eins von den vielen OpenSource-Systemen und Du hast versucht, Deinen Code da einzubinden. Vermute weiter, dass das CMS den Code mit eval() auswertet? Ein bischen gesprächiger musst Du schon werden.

                  LG
                  ich wäre gerne gesprächiger, aber mein wissen ist diesbezüglich LEIDER äußerst beschränkt (wie man merkt). aber ich gebe mir mühe...

                  habe kurz im php handbuch nachgesehen, was die funktion eval() anstellt.

                  @Kropff: (blöde frage) wie kann ich mir das "genauer ansehen"?

                  Kommentar


                  • #10
                    indem du in der datei /home/x/www/x/cms/bnd.php in zeile 1086 nach eval()'d suchst. fehlermeldungen kann man auch lesen.

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

                    Kommentar


                    • #11
                      indem du in der datei /home/x/www/x/cms/bnd.php in zeile 1086 nach eval()'d suchst.
                      Nein, in Zeile 235. 1086 ist in diesem Fall die Zeile des zu evaluierenden Codes, in dem der Parseerror auftritt.
                      fehlermeldungen kann man auch lesen.
                      Genau! *SCNR*

                      @phpsugar: Wenn Du die Stelle dann gefunden hast, könntest Du mal versuchen, den Code vor dem eval zusätzlich in eine Datei zu speichern. Dann kommst Du auch mit einem Syntaxchecker weiter.

                      LG

                      Kommentar


                      • #12
                        @topicstarter
                        Hast du mal sichergestellt, dass deine SQL-Query korrekt ist und etwas zurückgibt ?
                        PHP-Code:
                        $db->query($sql) OR die(mysql_error()); 
                        Wie sieht deine affected_row() Methode denn aus ? Stützt du dich dabei auf die mysql_affected_rows() ? Wenn ja, dann kann das nicht gehen weil diese Fkt nicht mit SELECT Statements zusammenarbeitet.

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          danke einstweilen für die tipps, muss den computer gleich verlassen. probiere später weiter.
                          Zuletzt geändert von phpsugar; 30.11.2006, 17:38.

                          Kommentar

                          Lädt...
                          X