jochen kempf: Probleme beim Erstellen von Tabellen mit mysql

Hallo,
ich habe eine HTML-Seite mit einem Formular (Name des Inputfeldes "Tabellenname") bestückt welches die Möglichkeit bietet eine neue Tabelle in einer vorhandene Datenbank (mysql)zu erstellen. Die entsprechende php Seite funktioniert aber nicht, d.h. es wird keine Tabelle erstellt.
Wo liegt da mein Fehler?

Code der php Seite:
<html>
<head>
<?php
  $Tabname = $Tabellenname;
  mysql_connect('localhost');
  mysql_select_db("mimik");
  $newtable = "create table $Tabname(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,Zeit TIME NOT NULL,Gesichtsbereich VAR(100)NOT NULL,Charakter1 VAR(100)NOT NULL,Charakter2 VAR(100)NOT NULL,Charakter3 VAR(100)NOT NULL);";
  mysql_query($newtable);
  mysql_close();

?>
.
.
.
.
usw.

  1. Hi,

    Was sagt denn die Fehlermeldung? ( mysql_error() )

    Gruss
    shin

  2. Du kannst eine gesendete variable nicht einfach so ansprechen, sondern mit $_GET['<var>'] oder $_POST['<var>'] jenach benutzer methode im formular (standard ist get).
    Zum debuggen empfehle ich dir onehin den query mal mit nem echo auszugeben, dann kannst du ja direkt sehen dass da garkein tabellenname drinsteht.
    Noch was: man sollte kein semikolon ans ende des querys setzen.
    Und bevor du da versuchst das Rad neu zu erfinden: http://www.phpmyadmin.net/

    1. Du kannst eine gesendete variable nicht einfach so ansprechen, sondern mit $_GET['<var>'] oder $_POST['<var>'] jenach benutzer methode im formular (standard ist get).

      Also wenn ich schreibe echo "$Tabname" nachdem ich der Variablen Tabname den entsprechenden Wert mit $_Get['Tabellenname'] zugeordnet habe dann kommt überhaupt nichts bei raus.
      Hingegen funktioniert es wenn ich wie schon zuvor geschrieben einfach nur $Tabname = $Tabellenname schreibe.
      Ich habe auch herausgefunden, dass der Aufbau zur Datenbank funktioniert nur der query-Befehl funktioniert nicht.

      Wenn ich schreibe
      $eintrag = mysql_query($newtable,$db);
       if (!$eintrag) {
        echo "fehler";}
      dann wird fehler ausgegeben und der Zusatz "Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\apachefriends..."

      Was ist da nun falsch?

      1. hi,

        Wenn ich schreibe
        $eintrag = mysql_query($newtable,$db);
         if (!$eintrag) {
          echo "fehler";}
        dann wird fehler ausgegeben und der Zusatz "Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\apachefriends..."

        Was ist da nun falsch?

        wenn du dich jetzt bitte mal bequemen könntest, mysql_error() anzuwenden, wie dir bereits eine gute dreiviertelstunde vor deinem posting in https://forum.selfhtml.org/?t=88085&m=524636 von ShiNtoKu vorgeschlagen wurde, dann wüssten wir jetzt bereits mehr.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. wenn du dich jetzt bitte mal bequemen könntest, mysql_error() anzuwenden, wie dir bereits eine gute dreiviertelstunde vor deinem posting in https://forum.selfhtml.org/?t=88085&m=524636 von ShiNtoKu vorgeschlagen wurde, dann wüssten wir jetzt bereits mehr.

          gruß,
          wahsaga

          O.k. -  ich hab ja schon längst das skript zum laufen gebracht. Komischerweise ist mein diesbezüglicher Post hier nicht mehr vorhanden! Es war ein Fehler in dem SQL Syntax wie ich mit ein bisschen rumprobieren herausgefunden habe und natürlich mit Hilfe von Mysql_error().
          Danke für eure Hilfe.
          Gruß, Jochen.

  3. Moin!

    mysql_connect('localhost');

    reicht ein parameter aus beim mysql_connect ? eigentlich erwartet die funktion host, username, password. oder irre ich mich?
    tschüss ichen

    --
    Selfcode: sh:( fo:| br: n4:& ie:% mo:| mo:| de:] zu:) fl:| ss:| ls:[ js:|
  4. Hi,

    ein mysql_error() wäre grundsätzlich ein Ansatz zur Lösung.

    Was mich nur wundert: "Woher nimmst du die Variable $Tabellenname bzw. welchen Wert hat sie?"

    Bis denne

    Botix

    1. hi,

      Was mich nur wundert: "Woher nimmst du die Variable $Tabellenname bzw. welchen Wert hat sie?"

      er nimmt sie aus den dunklen kerkerdimensionen jenseits der register_globals=off-barriere.

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."