Tabellen anlegen in MySQL

Taucher_2006

Mitglied
Hallo Freunde der Nacht,

zum lernen habe ich aus einem Tutorial folgende Programmzeilen zum anlegen von Tabellen in einer Datenbank.
Datenbank "test" ist vorhanden und leer.
variables.php
PHP:
<?php
$databaseserver = "localhost";
$databaseuser = "root";
$databasepass = "usbw";
$databasename = "test";
// --Tabellen
$onlinetable = "tb_online";
$hitstable = "tb_hits";
?>

dbconnect.php
PHP:
<?php
$db = mysql_connect($databaseserver, $databaseuser, $databasepass);
mysql_select_db($databasename,$db);
if ($db==false) die("Failed to connect to MySQL server<br>\n")
?>

install.php
PHP:
<br><br>
creating tables...<br><br>

<?php
    include ("variables.php");
        include ("dbconnect.php");


$sql = "CREATE TABLE $onlinetable (onl_id int(10) DEFAULT '0' NOT NULL auto_increment, onl_ip char(200), onl_dt datetime, onl_exp char(20), PRIMARY KEY (onl_id));";
    mysql_query($sql,$db);

        echo"...Online table<br>";

$sql = "CREATE TABLE $hitstable (hit_id int(10) DEFAULT '0' NOT NULL auto_increment, hit_name char(200), hit_tag datetime, hit_anz int(20), PRIMARY KEY (hit_id));";
    mysql_query($sql,$db);

        echo"...Hits table<br>";

$sql = "INSERT INTO $hitstable (hit_name, hit_anz, hit_tag) VALUES ('heute',0,NOW());";
    mysql_query($sql,$db);

$sql = "INSERT INTO $hitstable (hit_name, hit_anz, hit_tag) VALUES ('total',0,NOW());";
    mysql_query($sql,$db);

        echo"...Default values<br>";

?>

Es läuft alles durch ohne ein Fehlermeldung. Tabellen werden aber keine angelegt.
Besteht hier ein Fehler oder mache ich was falsch?

VG
Taucher_2006
 
Du hast je Tabelle ein Feld mit "auto_increment" und willst gleichzeitig einen Standardwert angeben.
Dann noch am Ende das ";" weg und es müsste klappen.

SQL:
CREATE TABLE $onlinetable (onl_id int(10) NOT NULL auto_increment, onl_ip char(200), onl_dt datetime, onl_exp char(20), PRIMARY KEY (onl_id))

CREATE TABLE $hitstable (hit_id int(10) NOT NULL auto_increment, hit_name char(200), hit_tag datetime, hit_anz int(20), PRIMARY KEY (hit_id))

Dann zur Sicherheit vielleicht noch nach "CREATE TABLE" ... "IF NOT EXISTS" schreiben, also im ganzen "CREATE TABLE IF NOT EXISTS"
 
Zuletzt bearbeitet:
Ich habe jetzt halt noch in der "dbconnect.php" meine Zugangsdaten eingetragen und dann die Datei so wie bereits geschrieben geändert.

Die Tabellen werden bei mir angelegt und in die Tabelle "tb_hits" werden die 2 Datensätze eingetragen.

PHP:
<br><br>
creating tables...<br><br>

<?php
include ("variables.php");
include ("dbconnect.php");


$sql = "CREATE TABLE IF NOT EXISTS $onlinetable (onl_id int(10) NOT NULL auto_increment, onl_ip char(200), onl_dt datetime, onl_exp char(20), PRIMARY KEY (onl_id))";
mysql_query($sql,$db);

echo"...Online table<br>";

$sql = "CREATE TABLE IF NOT EXISTS $hitstable (hit_id int(10) NOT NULL auto_increment, hit_name char(200), hit_tag datetime, hit_anz int(20), PRIMARY KEY (hit_id))";
mysql_query($sql,$db);

echo"...Hits table<br>";

$sql = "INSERT INTO $hitstable (hit_name, hit_anz, hit_tag) VALUES ('heute',0,NOW());";
mysql_query($sql,$db);

$sql = "INSERT INTO $hitstable (hit_name, hit_anz, hit_tag) VALUES ('total',0,NOW());";
mysql_query($sql,$db);

echo"...Default values<br>";

?>
 
hi,

ich weiß nicht was ich anderst gemacht habe. Die Änderungen die Du beschrieben hast habe ich gemacht, ohne den Erfolg. Nach dem kopieren des Scripts von dir ging es.

Dank

VG
Taucher
 
Zurück