mysql query/create table syntax

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

  • mysql query/create table syntax

    Hey

    Also ich stehe gerade aufm Schlauch, vermutlich ist der Fehler für euch sofort zu erkennen aber ich find ihn grade nich. Ich würde gerne mit einem PHP Script ne Tabelle erstellen. Der MySQL Befehl sieht so aus:

    Code:
    DROP TABLE IF EXISTS Matches;
    CREATE TABLE Matches(
    id INT PRIMARY KEY NOT NULL AUTO_INCREMENT ,
    matchstatus TEXT,
    created TEXT,
    playdate TEXT,
    calcdate TEXT,
    url TEXT,
    leaguename TEXT,
    leaguetype TEXT,
    leagueurl TEXT,
    game TEXT,
    result TEXT,
    self_setter INT,
    self_name TEXT,
    self_short TEXT,
    self_id INT,
    self_ranking INT,
    self_points INT,
    self_map TEXT,
    self_score1 INT,
    self_score2 INT,
    opponent_setter INT,
    opponent_name TEXT,
    opponent_short TEXT,
    opponent_id INT,
    opponent_ranking INT,
    opponent_points INT,
    opponent_map TEXT,
    opponent_score1 INT,
    opponent_score2 INT
    );
    Wenn ich das in PhpMyAdmin ausführe, geht das reibungslos. Jetzt würde ich das gerne in einem PHP Script ausführen. Dafür hat PhpMyAdmin ja extra ne Funktion, welche einem den obigen Code direkt in PHP schreibt. Leider funktionierts damit dann nichtmehr...
    In PHP:

    PHP-Code:
    $sql 'DROP TABLE IF EXISTS Matches;'
            
    ' CREATE TABLE Matches'
            
    ' ('
            
    ' id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,'
            
    ' matchstatus TEXT,'
            
    ' created TEXT,'
            
    ' playdate TEXT,'
            
    ' calcdate TEXT,'
            
    ' url TEXT,'
            
    ' leaguename TEXT,'
            
    ' leaguetype TEXT,'
            
    ' leagueurl TEXT,'
            
    ' game TEXT,'
            
    ' result TEXT,'
            
    ' self_setter INT,'
            
    ' self_name TEXT,'
            
    ' self_short TEXT,'
            
    ' self_id INT,'
            
    ' self_ranking INT,'
            
    ' self_points INT,'
            
    ' self_map TEXT,'
            
    ' self_score1 INT,'
            
    ' self_score2 INT,'
            
    ' opponent_setter INT,'
            
    ' opponent_name TEXT,'
            
    ' opponent_short TEXT,'
            
    ' opponent_id INT,'
            
    ' opponent_ranking INT,'
            
    ' opponent_points INT,'
            
    ' opponent_map TEXT,'
            
    ' opponent_score1 INT,'
            
    ' opponent_score2 INT'
            
    ' );';
           
            
    @
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
    mysql_query($sql) or die("Anfrage fehlgeschlagen: " mysql_error()); 

    Es erscheint folgender Fehler:

    Anfrage fehlgeschlagen: 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 '; CREATE TABLE Matches ( id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, matchstatus' at line 1

    Woran kann das liegen?

    Habe die besagte Line schon mehrfach umgeschrieben, aber ist eigentlich sinnlos denn in PhpMyAdmin gehts ja auch mit dem Code.

    (Achja stört euch nicht daran, dass ich so verschwenderisch mit "TEXT" umgehe, war bis jetzt nur aus Bequemlichkeit, wird später teils durch DATE und VARCHAR ersetzt.)


    Danke

  • #2
    Re: mysql query/create table syntax

    Original geschrieben von INC.
    Woran kann das liegen?
    Daran, dass du mehr als ein Statement mit mysql_query abzusetzen versuchst.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Dankeschön, hast recht.
      Wieder was dazugelernt

      Kommentar

      Lädt...
      X