Ankündigung

Einklappen
Keine Ankündigung bisher.

Mit PHP eine Tabelle erstellen

Einklappen

Neue Werbung 2019

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

  • Mit PHP eine Tabelle erstellen

    Bin noch recht neu in Sachen PHP und würde gerne per PHP eine Tabelle erstellen. Wie muss ich da genau vorgehen?

    Habe folgende Syntax für das erstellen einer Tabelle.

    PHP-Code:
    CREATE TABLE cms_benutzer (
    ben_id INT(10UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ben_name VARCHAR(50NOT NULL,
    ben_pwd_md5 VARCHAR(32NOT NULL,
    ben_datum DATE
    ENGINE MYISAM
    Muss das PRIMARY KEY ans Ende und dann so geschrieben werden?

    PHP-Code:
    CREATE TABLE cms_benutzer (
    ben_id INT(10UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ben_name VARCHAR(50NOT NULL,
    ben_pwd_md5 VARCHAR(32NOT NULL,
    ben_datum DATE,
    PRIMARY KEY (ben_id)
    ENGINE MYISAM
    Für ein Ja/Nein Feld ist ein TINYINT(1) ok, oder? Und kann man für ein Datum einen Wert vorgeben? Soviel ich gelesen habe, geht das nicht, ausser man nimmt einen TIMESTAMP, oder?

    Um das CREATE auszuführen muss ich erst ein DB Objekt erstellen und dann z.B. so?

    PHP-Code:
    $db = new MySQLi(DBSERVERDBBENUTZERDBPWDDBDATENBANK);

    $sql "CREATE TABLE cms_benutzer (
    ben_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ben_name VARCHAR(50) NOT NULL,
    ben_pwd_md5 VARCHAR(32) NOT NULL,
    ben_datum DATE,
    PRIMARY KEY (ben_id)
    ) ENGINE = MYISAM;"
    ;

    $eintrag $db->prepare($sql);
    $eintrag->execute(); 
    Vielleicht kann mir einer helfen, danke.

  • #2
    Warum probierst du das, was du gemacht hast nicht aus? So falsch ist es nicht.
    [I]Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)[/I]
    [I]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/I]

    Kommentar


    • #3
      Hat sogar funktioniert

      Was nimmt man denn nun für ein Ja/Nein Feld am besten?

      Danke

      Kommentar


      • #4
        TINYINY(1) UNSIGNED oder gelegentlich sogar ENUM().
        "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

        Kommentar


        • #5
          Danke

          Kommentar


          • #6
            Bloß nicht ENUM! Das gibt dann so merkwürdige Effekte bei = 1 vs. = '1' - einmal wird der Enum-Index benutzt, das andere mal der Wert.

            Kommentar


            • #7
              Ja, mag sein, aber wenn du 'Y' / 'N' verwendest, was sprechend ist und damit nicht schlecht, geht es ganz gut. Performance ist, da es intern als Zahl behandelt wird auch gut.

              Wenn du numerische Werte verwendest, wird das eben als Index des Listeneintrags interpretiert. Das muss man halt wissen.

              Aber TINYINT(1) UNSIGNED ist schon OK. Alles != 0 muss dann halt als WAHR interpretiert werden, weil du ja auch 2 oder 3 eintragen kannst.
              "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

              Kommentar

              Lädt...
              X