Forum

El_Tomato

Erfahrenes Mitglied
Ich habe ein Tutorial gefunden von einem Forum.
Nun, da ich mich noch nicht so gut mit mysql etc auskenne dachte ich, frage ich mal hier!
Da sind MySql Tabellen, nun wollte ich wissen, ob es auch geht, das man diese Tabellen in einer install.php Datei reintut, und wenn man diese Datei öffnet, sich die Tabellen automatisch anlegen?
Geht das?
Wenn ja wie?

mfg El_Tomato
 
Hallo!

Tabellen legt man mit CREATE TABLE an.
Guckst Du hier oder hier.
Da es auch Webspace mit mehr als nur einer Datenbank gibt, würde ich die install.php die Datenbanknamen auslesen lassen und so dem Webmaster ermöglichen die Tabelle in der von ihm bevorzugten Datenbank anzulegen.

Und wenn Du noch einen Schritt weiter gehen willst, dann machst Du auch gleich eine deinstall.php. ;)
Löschen tut man eine Tabelle mit DROP TABLE.
Guckst Du hier oder hier.

Gruss Dr Dau
 
Wenn meine Tabellen so aussehen müssten:

+-------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key|Default Extra |
+-------+----------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| name | tinytext | | | | |
+-------+----------+------+-----+---------+----------------+

und

+---------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| fid | int(11) | | | 0 | |
| topic | tinytext | | | | |
| created | timestamp(14) | | | | |
+---------+---------------+------+-----+---------+----------------+

wie würde dann die install.php aussehen?
Ich verstehe das ganze nicht :mad:

mfg El_Tomato
 
Ungefähr so:
PHP:
<?php
$connect = mysql_connect("host","user","pass") or die (mysql_error());
mysql_select_db("datenbank", $connect) or die (mysql_error());
 
$result_1 = mysql_query("
CREATE TABLE `tabelle_eins` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
PRIMARY KEY (`id`) 
)
") or die (mysql_error());
 
$result_2 = mysql_query("
CREATE TABLE `tabelle_zwei` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fid` int(11) DEFAULT 0,
`topic` tinytext NOT NULL,
`created` timestamp,
PRIMARY KEY (`id`) 
)
") or die (mysql_error());
 
if($result_1) {
    echo "Tabelle 1 wurden angelegt.<br>";
}
 
if($result_2) {
    echo "Tabelle 2 wurden angelegt.<br>";
}
?>
 
Dann müsste ich doch auch eine config.php oder so erstellen, damit das die MySql Daten ausliest oder?
 
Zuletzt bearbeitet:
Fehlermeldung

Ich merke ich habe einen Fehler in meiner install.php gemacht, aber ich finde ihn nicht:
Code:
<?php
$connect = mysql_connect("host","user","pass") or die (mysql_error());
mysql_select_db("datenbank", $connect) or die (mysql_error());
 
$result_1 = mysql_query("
CREATE TABLE `foren` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
PRIMARY KEY (`id`) 
)
") or die (mysql_error());
 
$result_2 = mysql_query("
CREATE TABLE `threads` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fid` int(11) DEFAULT 0,
`topic` tinytext NOT NULL,
`created` timestamp,
PRIMARY KEY (`id`) 
)
") or die (mysql_error());
 
$result_3 = mysql_query("
CREATE TABLE `answers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tid` int(11) DEFAULT 0,
`fid` int(11) DEFAULT 0,
`user` tinytext NOT NULL,
`topic` tinytext NOT NULL,
`text` text NOT NULL
`created` timestamp,
PRIMARY KEY (`id`)
)
") or die (mysql_error());
 
if($result_1) {
    echo "Tabelle Foren wurde angelegt.<br>";
}
 
if($result_2) {
    echo "Tabelle Threads wurde angelegt.<br>";
}

if($result_3) {
    echo "Tabelle Answers wurde angelegt.<br>"
}	
?>


Die drei Tabellen die erstellt werden sollen:

Tabelle 1:
+-------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| name | tinytext | | | | |
+-------+----------+------+-----+---------+----------------+

Tabelle2:
+---------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| fid | int(11) | | | 0 | |
| topic | tinytext | | | | |
| created | timestamp(14) | | | | |
+---------+---------------+------+-----+---------+----------------+

Tabelle3:
+---------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| tid | int(11) | | | 0 | |
| fid | int(11) | | | 0 | |
| user | tinytext | | | | |
| topic | tinytext | | | | |
| text | text | | | | |
| created | timestamp(14) | | | | |
+---------+---------------+------+-----+---------+----------------+
 
Vom Prinzip her wird keine config.php gebraucht.
Da es jetzt aber schon 6 Scripte (inkl. der install.php) sind, in denen die Zugangsdaten und der Datenbankname für die Datenbank gebraucht werden, währe eine config.php natürlich ganz praktisch. ;)
 
:offtopic:

@El_Tomato: Bitte gewöhne dir doch an, auf den gezeigten bzw. vorgeschlagenen Quellcode dem User in dem Thema zu antworten, und nicht mit dem Code einen neuen Thread, wie hier namens "Fehlermeldung", zu starten.

Oder willst du im Board für Chaos und kollektives Déjà-vu sorgen? :suspekt:

Das ist jetzt binnen weniger Tage das zweite Mal, dass ich von dir ein neues Thema in ein aktuell Laufendes ein-/umpflanze, wo es vom Kontext hingehört.

Vielen Dank! ;)
 
die CONFIG.PHP würde in etwa so aussehen:

PHP:
<?php
$host = "www.datenbankadresse.de";
$datenbank = "name_der_db";
$user = "der_name_des_benutzers";
$pass = "das_passwort";
?>

diese wird anschliessend mittels include() am Anfang Deiner Scripte eingebunden, und Du kannst auf diese Variablen zugreifen.
Wenn sich was ändert (oder wenn Du deine Scripte weitergibst, und diese auf einem anderen Server eingesetzt werden), muss man nur die config.php ändern, und nicht alle Scripte. ;)

In der install.php ändern sich dann die ersten beiden Zeilen:

PHP:
<?php
include "config.php";
$connect = mysql_connect($host,$user,$pass) or die (mysql_error());
mysql_select_db($datenbank, $connect) or die (mysql_error());
?>
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück