Systax Problem

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

  • Systax Problem

    Hi,

    warum bekomme ich einen Systaxfehler bei Aufruf dieser Funktion?
    Habe schon in einem anderen Forum gefragt aber die Erklärung nicht verstanden.

    Es scheint ein Problem mit einem Komma vorzuliegen. Aber wo und warum?


    Danke

    PHP-Code:
    function getTranslation()
    {
        global 
    $db;
        
    $db->select("keyval, $this->language""uebersetzung""""""""""");
        while(
    $row $db->fetch_array()) 
        {
            
    $this->aTrans[$row['keyval']] = $row[$language];
        }

    EDIT:
    php.tags by Abraxax

  • #2
    1. bitte die php.tags verwenden.

    2.
    warum bekomme ich einen Systaxfehler bei Aufruf dieser Funktion?
    glaskugel?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Glaskugel =def. Poste doch mal die Fehlermeldung und was du so für Zeug laufen hast
      it's not a bug,
      it's a feature!

      Kommentar


      • #4
        Hi,

        ja tut mir leid. Hier ist die Fehlermeldung:

        SELECT keyval, FROM uebersetzung
        You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM uebersetzung' at line 1
        1064

        Kommentar


        • #5
          das sieht aus, als würde mysql da noch einen weiteren spaltennamen erwarten oder nicht?
          PHP-Code:
          echo '--'.$this->language.'--';
          $db->select("keyval, ".$this->language"uebersetzung"""""""""""); 
          fehlermeldung?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            da steht doch alles, was du wissen musst. Check the manual.

            mache das , raus.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              na

              $this->language

              hat keinen Wert, daher ist das Komma zuviel !
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #8
                Hi,

                stimmt. Das Komma ist weil das Attribut leer ist. Hatte micht echt gewundert, warum diese Fehlermeldung kommt.

                Jetzt habe ich die ganze Zeit damit zugebracht rauszufinden warum das Attribut leer ist. Es müsste eigentlich immer standardmässig gestzt werden, welbst wenn die Sprache nicht übergeben wird.

                Habe ich einen Denkfehler in meinem Konstuktor ?

                PHP-Code:
                // Constructor
                function UserAdmin($usertype "customer")
                {
                    
                    
                # DATABASE
                    
                global $db;
                       
                $db = new DenDB;     // Create database object

                    
                session_start();
                    
                $this->setSessionID();
                    
                $this->getLanguage();
                    
                $this->saveSessionInDB();
                    
                $this->getClientIP();
                    
                    
                // visitor is considered to be a customer
                    
                if ($usertype == "customer")
                    {
                        if(!isset(
                $_SESSION['visitor']))
                        {
                            
                $this->aCustomer = new Customer(""$this->clientIP$this->language$this->sessionID); 
                            
                $_SESSION["visitor"] = $this->aCustomer;
                        }
                    }
                    
                // visitor is considered to be a user
                    
                elseif ($usertype == "user")
                    {
                        if(!isset(
                $_SESSION['visitor']))
                        {
                            
                $this->aUser = new User(""$this->clientIP$this->language$this->sessionID); 
                            
                $_SESSION["visitor"] = $this->aUser;
                        }
                    
                    }    



                Hier ist die Funktion die das Sprachattribut der Klasse setzt:

                PHP-Code:
                function getLanguage()
                {    
                    if(!isset(
                $_SESSION['visitor']))
                    {
                        if(isset(
                $_REQUEST['language']))
                        {
                            
                $this->language $_REQUEST['language'];
                        }
                    }
                    
                    else
                    {
                        
                $this->language "de";
                    }

                Kommentar


                • #9
                  ja hast du,

                  wenn $_SESSION['visitor'] gesetzt ist,
                  aber nicht $_REQUEST['language']
                  rutscht er durch !
                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #10
                    dein getLanguage versteh ich nicht

                    wie wär's damit:
                    PHP-Code:
                    if (isset($_REQUEST['lang']))
                      
                    $_SESSION['lang']=$_REQUEST['lang'];
                    elseif (!isset(
                    $_SESSION['lang']))
                      
                    $_SESSION['lang']='de';
                    $this->language=$_SESSION['lang']; 
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar

                    Lädt...
                    X