Lukas: wie funktioniert CREATE TABLE?

Hallo!
Ich möchte mit PHP eine Tabelle in einer Datenbank anlegen. Aber irgendwie funktioniert das nicht so richtig. Ich habe folgendes in meiner PHP-Datei:

CREATE TABLE News
(
    ID     INT AUTO_INCREMENT PRIMARY KEY,
    Titel  VARCHAR(60),
    Inhalt TEXT,
    Datum  DATETIME,
    Autor VARCHAR(15)
);

Wie spreche ich jetzt damit MySQL an? So, wie ich es drin stehen hab, kommt nur eine Fehlermeldung von PHP.
Ich weiß nicht, ob ich zu blöd bin, aber beim quakenet PHP Tutorial finde ich nichts.
Vielen Dank für eure Antworten schon im Vorraus.
lg Lukas

  1. Hi there,

    irgendwie funktioniert das nicht so richtig. Ich habe folgendes in meiner PHP-Datei:

    CREATE TABLE News ...

    Das sind SQL-Statements; die kannst Du nicht einfach in eine PHP-Datei schreiben, für den PHP-Parser/Interpreter ist das nur unverständlicher Müll. Du mußt Deine SQL-Statments in einen String setzen und den übergibst Du einen speziellen PHP-Funktion; also:

    $sql='CREATE TABLE ....';
    $res=mysql_query($sql,hier kommt der Name der Datenbank, die Du vorher hoffentlich geöffnet hast)

    aus der Variable $res ist dann herauszulesen, ob die Abfrage erfolgreich war...

    1. Hi!
      Vielen Dank!
      @ Klawischnigg: Ich habs jetzt so gemacht, wie du gesagt hast und es funktioniert :)
      Danke schön!
      ciao, hubschraubaer

  2. Hi Lukas,

    So, wie ich es drin stehen hab, kommt nur eine Fehlermeldung von PHP.

    Stimmt, die Fehlermeldungen gibt PHP nur zum Spaß aus - das ist ein Gag der Entwickler von PHP, damit mehr Netzwerk-Traffic verbraucht wird. Es ist überhaupt nicht wichtig, uns diese Fehlermeldung zu sagen.

    Ich hoffe zu verstehst die Ironie ;-) Abgesehen davon wäre ein Teil deines PHP-Quellcodes interessant (weil eben eine PHP-Fehlermeldung kommt) und die Ausgabe von mysql_error(). Im Zweifelsfall sollte dir auch das MySQL-Manual weiterhelfen.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Patch zur Verwendung von PATHINFO in JLog
    Wenn Sie einen Schweizer Bankier aus dem Fenster springen sehen, springen Sie hinterher. Es gibt bestimmt etwas zu verdienen. (Voltaire)
  3. Hi Lukas!

    $sql = 'CREATE TABLE DEIN TABELLENNAME ('
            . ' id INT(MAXIMALE ZEICHEN) NOT NULL AUTO_INCREMENT PRIMARY KEY, '
            . ' titel VARCHAR(60) NOT NULL, '
            . ' inhalt TEXT NOT NULL, '
            . ' datum DATETIME NOT NULL, '
            . ' autor VARCHAR(15) NOT NULL, '
            . ' )'
            . ' TYPE = myisam;';
    $create = mysql_query($sql);

    Zack, schon hast du deine Tabelle.

    Grüße, Matze