Gamux Game Entwicklung  
     

Left Nav Mit Facebook verbinden Registrieren Lexikon Lexikon Interessengemeinschaften Suchen Heutige Beiträge Alle Foren als gelesen markieren Right Nav

Left Container Right Container
 

Zurück   Gamux Game Entwicklung > Tutorials & Vorstellung > FAQ und Tutorials

Antwort
 
Themen-Optionen Ansicht
Alt 05.11.2009, 22:21   #1 (permalink)
Benutzer
 

Standard [PHP-MySQL] Datenbank installieren script

Also da ich ja zurzeit selbst ein BG scripte, und mir ein DB-install-script geschrieben habe, möchte ich Neulingen zeigen wie dies geht. Ich hoffe der Script ist 100% sauber.

Was muss das Script tun?

- mit MySQL verbinden
- Erstellen der Datenbank
- Tabellen in die Datenbank einfügen
- ggf. die Verbindung trennen

Überlegungen - welche Scripts brauchen wir:

- ein include-Script, welches die Verbindung aufnimmt
- ein Script zur allg. Erstellung

Als 1. erstellen wir die include-Datei.

Ich nenne sie mal "mysql-connect.inc.php"

PHP-Code:
$host 'localhost';  // IP bzw. Hostname
$user 'root';        // natürlich der Name des Users
$pass 'test';       // das entsprechende Passwort zum User

// erklärt sich wohl von allein :P

$link mysql_connect("$host""$user""$pass");
if (!
link) {
    die(
'Konnte nicht verbinden! Fehler: ' mysql_error());
}

// die Variable $link wird definiert, trägt die Werte + den Befehl zum verbinden mit MySQL, der Rest erklärt sich wohl ebenfalls von allein

// danach überprüft die IF-Abfrage ob $link false ergibt, wenn dies passiert, bekommt man die entsprechende Mitteilung

echo 'Verbindung erfolgreich' "\n"
soviel zur include-Datei.

die andere bekommt einen seperaten Post
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 05.11.2009, 22:35   #2 (permalink)
Benutzer
 

Standard

db-install.php

bei dieser Datei ist wohl mehr oder weniger die Geschwindigkeit egal, was heißt egal... wir verwenden sie einmal richtig, es ist also unwichtig ob es 3 Sekunden länger dauert oder nicht

PHP-Code:
// Verbinde mit dem Server
include 'mysql-connect.inc.php';  // Die 1. Datei wird eingebunden

//Variablen
$database "browsergame";  // name der Database

$sql 'CREATE DATABASE ' $database;  // Variable die später für die Erstellung der Database benötigt wird

$table_bg_user 'CREATE TABLE bg_user (
                 id int(10) NOT NULL AUTO_INCREMENT,
                 username varchar(50),
                 password varchar(50),
                 PRIMARY KEY(id))'
;

$table_bg_user_ext 'CREATE TABLE bg_user_ext (
                     user_id int(10),
                     email varchar(100),
                     homepage varchar(100),
                     signatur longtext)'

// Die Variablen für die Erstellung der entsprechenden Tabellen
// CREATE TABLE erszeugt eine Tabelle mit dem Namen der direkt danach folgt
// id, username email etc. sind die Namen der entsprechenden Felder in der Tabelle
// int(10) sagt das es eine Zahl ist mit max. 10 Stellen
// AUTO_INCREMENT erhöht diese Zahl bei einem neuem Datensatz automatisch um 1
// varchar(100) lässt Buchstaben,Zahlen u.a. Symbole zu
// longtext - lässt viel Text zu (weiß die Zahl nciht genau :P)
// PRIMARY KEY(id) legt fest das id der primäre Schlüssel ist

PHP-Code:
// Erstellung der Datenbank
if (mysql_query($sql$link)) {
    echo 
"Database " $database " wurde erfolgreich installiert.\n";
} else {
    echo 
'Fehler beim erstellen der Datenbank. Fehler: ' mysql_error() . "\n";
}

// Datenbank auswählen
mysql_select_db($database);

// Füllen der Datenbank
if (mysql_query($table_bg_user$link)) {
    echo 
"Die Tabelle bg_user wurde erfolgreich hinzugefügt.\n";
} else {
    echo 
'Hinzufügen der Tabelle bg_user fehlgeschlagen. Fehler: ' mysql_error() . "\n";
}

if (
mysql_query($table_bg_user_ext$link)) {
    echo 
"Die Tabelle bg_user_ext wurde erfolgreich hinzugefügt.\n";
} else {
    echo 
'Hinzufügen der Tabelle bg_user_Ext fehlgeschlagen. Fehler: ' mysql_error() . "\n";

// so zu den letzten beiden IF-Abfragen
// mysql_query sendet eine Anfrage(hier $table_bg_user und ..._ext) an die gerade aktive Datenbank die wir mit $link assoziiert haben, lässt man dies weg, nutzt das script ggf. die letzte offene verbindung
// hier werden die SQL-Befehle übertragen
//und if prüft noch ob alles funktioniert hat

und für die faulen hier der gesamte Code :
PHP-Code:
// Verbinde mit dem Server
include 'mysql-connect.inc.php'

//Variablen
$database "browsergame";  

$sql 'CREATE DATABASE ' $database;  

$table_bg_user 'CREATE TABLE bg_user (
                 id int(10) NOT NULL AUTO_INCREMENT,
                 username varchar(50),
                 password varchar(50),
                 PRIMARY KEY(id))'
;

$table_bg_user_ext 'CREATE TABLE bg_user_ext (
                     user_id int(10),
                     email varchar(100),
                     homepage varchar(100),
                     signatur longtext)'
;

// Erstellung der Datenbank
if (mysql_query($sql$link)) {
    echo 
"Database " $database " wurde erfolgreich installiert.\n";
} else {
    echo 
'Fehler beim erstellen der Datenbank. Fehler: ' mysql_error() . "\n";
}

// Datenbank auswählen
mysql_select_db($database);

// Füllen der Datenbank
if (mysql_query($table_bg_user$link)) {
    echo 
"Die Tabelle bg_user wurde erfolgreich hinzugefügt.\n";
} else {
    echo 
'Hinzufügen der Tabelle bg_user fehlgeschlagen. Fehler: ' mysql_error() . "\n";
}

if (
mysql_query($table_bg_user_ext$link)) {
    echo 
"Die Tabelle bg_user_ext wurde erfolgreich hinzugefügt.\n";
} else {
    echo 
'Hinzufügen der Tabelle bg_user_Ext fehlgeschlagen. Fehler: ' mysql_error() . "\n";

zudem kann man das script ganze einfach erweitern

ich hoffe ich konnte mit diesen "fred :P" einigen helfen

Geändert von BlackWolf-Design (06.11.2009 um 12:40 Uhr).
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 07.11.2009, 16:33   #3 (permalink)
Erfahrener Benutzer
 

Standard

Hallo,
ich finde es schön, dass du dir als Neuling die Mühe machst, so ein Tutorial zu verfassen. Nun aber nu ein paar kleine Tipps:

In deinem ersten Codeschnipsel ist dir ein Fehler unterlaufen, dort fehlt ein $:
PHP-Code:
if (!$link) {
    die(
'Konnte nicht verbinden! Fehler: ' mysql_error());

Als nächster Tipp wäre noch: Ich würde alle Tabellenqueries in einen Array packen und diesen dann auslesen. Dies ist bei vielen Tabellen wesentlich übersichtlicher.

MfG
Phybot

Phybot ist offline   Mit Zitat antworten An Facebook senden
Alt 07.11.2009, 16:35   #4 (permalink)
Benutzer
 

Standard

dankeschön

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Antwort

Themen-Optionen
Ansicht

Forumregeln
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Pokemon battle script Power Spiele programmieren 10 29.07.2009 15:03
Suche MySQL tutorials für anfänger ;) leridan Serverseitige Sprachen 3 07.02.2009 14:59
MySQL Abfrage optimieren Zerber Serverseitige Sprachen 3 02.02.2009 17:26
[PHP} Datenbank Klasse Megger Serverseitige Sprachen 16 27.11.2008 19:39
OpenSource Image Hosting Script Sn0opy Off-Topic 7 29.10.2008 21:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:43 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0