• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Automatisch Tabelle anlegen lassen

MoneyMaker02

Neues Mitglied
[erledigt] Automatisch Tabelle anlegen lassen

Hallo :smile:

Ich habe folgendes Problem: Ich möchte mit einem PHP-Script automatisch eine Tabelle in meiner Datenbank anlegen lassen.
Dabei kommt es aber immer zu diesem Fehler:
Code:
[B]Warning[/B]: mysql_error(): supplied argument is not a valid MySQL-Link resource in [B]C:\PHP\xampp\htdocs\Browsergame\Auto_Spieler.php[/B] on line [B]43[/B]

Hier der wichtige teil des Programmcodes:
PHP:
<!--Verbindung wird aufgebaut-->
<?php
 mysql_connect("localhost", "*****", "*****") or die ("Verbindungsaufbau gescheitert");
 mysql_select_db("Datenbank")       or die ("Datenbank nicht gefunden");
 
[...]
 
$sql= mysql_error(mysql_query("CREATE TABLE abc ('x' INT NOT NULL, 'y' INT NOT NULL, 'tempox' INT NOT NULL, 'tempoy' INT NOT NILL, 'id' INT AUTO_INCREMENT PRIMARY KEY)"));
   ?>

Weiß jemand Rat?
 
Zuletzt bearbeitet:
soweit ich die error() funktion der mysql klasse kenne wird in die klammern nichts uebergeben bzw kein mysql_query().

probiers mal so:

Code:
[COLOR=#000000][COLOR=#0000bb]$sql[/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]mysql_query[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"CREATE TABLE abc ('x' INT NOT NULL, 'y' INT NOT NULL, 'tempox' INT NOT NULL, 'tempoy' INT NOT NILL, 'id' INT AUTO_INCREMENT PRIMARY KEY)"[/COLOR][COLOR=#007700]);[/COLOR][/COLOR]
if (!$sql)
{
   echo mysql_error();
}
else
{
   echo 'tabelle erfolgreich angelegt!';
}
 
Jetzt kam diese Fehlermeldung:
Code:
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 ''x' INT NOT NULL, 'y' INT NOT NULL, 'tempox' INT NOT NULL, 'tempoy' INT NOT NULL' at line 1
Besonders Merkwürdig, da in meiner Zeile 1 ja nur ein Kommentar steht...

Edit: Den Fehler, dass ich bei "tempoy" "NOT NILL" statt "NOT NULL" geschrieben habe, habe ich bereits behoben.

Edit2: Es klappt! Richtig hätte es heißen müssen
Code:
$sql= mysql_query("CREATE TABLE abc (x INT NOT NULL, y INT NOT NULL, tempox INT NOT NULL, tempoy INT NOT NULL, id INT AUTO_INCREMENT PRIMARY KEY)");

So, ich habe jetzt gleich noch ein Problem: ich möchte, dass in dem Tabellennamen ein "(" vorkommt. Das das geht, sieht man, wenn man eine solche Tabelle mit Phpmyadmin erstellt, da klappt das.
Aber sobald ich eine solche Klammer in meinen Namen für die automatisch zu generierende Tabelle einfüge, kommt die Fehlermeldung
Code:
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 '( (Sx INT NOT NULL, Sy INT NOT NULL, Stempox INT NOT NULL, Stempoy INT NOT NULL,' at line 1

Edit3: Auch dieses Problem selber gelöst: mit dem Code
PHP:
   $sql = "CREATE TABLE `datenbank`.`tabelle` (`a` INT NOT NULL)";
   $sql = mysql_query($sql);
kann Problemlos eine Tabelle mit Punkten, Lücken und Klammern erstellt werden.
 
Zuletzt bearbeitet:
Zurück
Oben