Create Table $Variable geht nicht

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

  • Create Table $Variable geht nicht

    Hallo!
    Hier mein Problem:


    $createTable = "CREATE TABLE $spiele

    Wieso kann ich den Tablenamen nicht aus einer Variable generieren?
    $spiele bewegt sich im 2-3 stelligen Zahlenbereich.

    Er meldet beim Ausfuehren :

    Parse error: parse error, unexpected T_VARIABLE in C:\AnderePart\xampplite\htdocs\Monopoly\games\newgame.php on line 14

    Kann mir jemand kurz helfen?

    Vielen Dank

    Sager

  • #2
    Wenn das deine Original Code Zeile ist dann solltest du den Fehler selber sehen ? Was fehlt da am Ende ?? Oder kommt da noch mehr Code ? Dann bitte posten...

    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


    • #3
      nein, der ist aber viiiel zu lang ich erstelle 50 felder (oder so) aber ohne die Mitte sieht das ganze so aus:

      $createTable = "CREATE TABLE $spiele ( `str_40` int(2) NOT NULL );";

      Wenn ich $Spiele gegen ein Wort austausche geht ja auch

      Gruss

      Sager

      Kommentar


      • #4
        wo kommt $spiele her? von einer Form? wenn ja, dann suche mal nach register_globals.

        Kommentar


        • #5
          nein, $spiele ist eine Variable die innerhalb der PHP erstellt wird.
          Hier eine gekuerzte Version des gesammt Quelltextes:
          ]php]
          $result = mysql_db_query("kh_nopoly","SELECT * FROM statistics");
          $row = mysql_fetch_row($result);
          $spiele= $row[0];
          Echo $spiele ;
          $createTable = "CREATE TABLE $spiele (
          `userid` int(10) NOT NULL
          );";


          mysql_db_query("kh_nopoly",$createTable);


          $hochsetzen="UPDATE statistics SET total_games = $row[0]+1";
          mysql_db_query("kh_nopoly",$hochsetzen);

          [/php]

          Kommentar


          • #6
            Ist die var $spiele den wirklich nur nummerisch ?
            Ein Name kann mit jedem Zeichen anfangen, das in einem Namen erlaubt ist. Insbesondere kann ein Name auch mit einer Zahl anfangen (das ist in vielen anderen Datenbanksystemen anders!). Jedoch kann ein Namen nicht nur aus Zahlen bestehen.
            http://dev.mysql.com/doc/refman/4.0/de/legal-names.html

            Das dürfte das Problem sein...

            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


            • #7
              Achso, $spiele wird mit einem Integer Wert gefuellt, kanns daran liegen? Hab das entsprechende Feld aber in PHPMyAdmin auf VARCHAR gestellt und es geht immernoch nicht.
              Wenn ich jedoch $spiele='test' ; setzte klappt es.
              Verstehe ich nicht. Darf ich zur benennung meiner Tabellen keine Zahlen verwenden?!

              Kommentar


              • #8
                Danke Jahlives!
                Genau das hab ich mir eben auch gedacht
                Vielen dank fuer die Hilfe, jetzt geht alles einwandfrei!

                Gruss

                Sager

                Kommentar


                • #9
                  Du darfst schon, aber der Name darf nicht NUR aus Zahlen bestehen
                  Probier mal folgendes
                  PHP-Code:
                  $createTable 'CREATE TABLE '.$spiele.'re'.' (`userid` int(10) NOT NULL );'
                  Klappt das so ?

                  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


                  • #10
                    Japp, habs fast genauso gemacht!

                    PHP-Code:
                    $result mysql_db_query("kh_nopoly","SELECT * FROM statistics");
                    $row mysql_fetch_row($result);
                    $spiele=$row[0];
                    $spiele='game_' $spiele ;
                    $createTable "CREATE TABLE $spiele 
                    Vielen Dank nochmal!

                    Kommentar

                    Lädt...
                    X