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
 
Alt 16.11.2009, 18:42   #1 (permalink)
Benutzer
 

Standard MySQLi prepared

ich weiß wie ich eine tabelle von einer db fülle über ein script aber wie erstelle ich eine db über mysqli^^

schreibe gerade das db-install script um aber der parser meckert das die syntax von execute falsch wäre

also oop mäßig mit try und catch ^^ <--- damit komm ich ne klar :P

titel wäre besser : MySQLi prepare(statement(oop))

mysql-connect.inc.php
PHP-Code:
<?php
$host 
'localhost';
$user 'root';
$pass 'test';
    try {
        
$link = new MySQLi("$host""$user""$pass");
    } catch (
Exception $e) {
        echo 
'Fehler: ' . ($e->getMessage());
}
?>
db-install.php
PHP-Code:
<?php
// Verbinde mit dem Server
include 'mysql-connect.inc.php';

//Variablen
$database "browsergame";
$bg '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)'
;
try {
// Erstellung der Datenbank
    
$befehl $link->prepare($db);
    
$befehl->execute();
        echo 
"Database " $database " wurde erfolgreich installiert.\n";
    
$befehl->close();
    } catch (
Exception $e) {
        echo 
'Fehler: ' . ($e->getMessage());
}
?>

^^ :P ja ich mag smileys

Geändert von BlackWolf-Design (16.11.2009 um 19:04 Uhr).
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 16.11.2009, 20:36   #2 (permalink)
Neuer Benutzer
 

Standard

Ich hab zwar noch nie mysqli benutzt, aber mir fällt auf das du das "CREATE DATABASE"-Statement überhaupt nicht mit der Datenbank in Verbindung bringst.
Ich denke also mal das:
PHP-Code:
    $befehl $link->prepare($db); 
eigentlich
PHP-Code:
    $befehl $link->prepare($bg); 
heißen sollte.
Ausserdem kannst du dir das mit dem prepare hier eigentlich sowieso sparen, weil das Statement sowieso immer gleich ist und nur einmal ausgeführt wird.
Also einfacher:
PHP-Code:
$link->query($bg); 
satan ist offline   Mit Zitat antworten An Facebook senden
Alt 16.11.2009, 20:39   #3 (permalink)
Benutzer
 

Standard

xD ok danke :P

was is der wesentliche utnescheid bei der benutzung?

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 17.11.2009, 16:32   #4 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

Zitat:
Zitat von BlackWolf-Design Beitrag anzeigen
was is der wesentliche utnescheid bei der benutzung?
Der größte Unterschied ist, dass mysqli objektorientiert ist und schneller sein soll.

Ein gutes Tutorial dazu ist das hier: Einführung in die MySQLi-Erweiterung von PHP 5 - MySQL vs MySQLi

Grüße
Sebastian

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 17.11.2009, 17:53   #5 (permalink)
Benutzer
 

Standard

thx meinte unterschied für prepare und query oder hast du das gemeint ^^

ok den kenn ich jetzt ^^, aber wieso nutze ich try und catch ^^

^^ :P ja ich mag smileys

Geändert von BlackWolf-Design (17.11.2009 um 18:17 Uhr).
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 17.11.2009, 19:23   #6 (permalink)
Erfahrener Benutzer
 

Standard

Hallo,
die Klasse MYSQLi kannst du hier finden. Dort wird auch sowohl prepare als auch query beschrieben.
Mit try-catch ist das abfangen von Fehlern einfacher. Weiteres findest du hier.

MfG
Phybot

PS: Gewöhnt dich schon mal an OOP. Damit ist alles wesentlich einfacher.

Phybot ist offline   Mit Zitat antworten An Facebook senden
Alt 17.11.2009, 19:30   #7 (permalink)
Benutzer
 

Standard

das ps nehme ich sehr gerne an :P

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 22.11.2009, 15:56   #8 (permalink)
Benutzer
 

Standard

ist diese art der weiterleitung ok, oder gibt es eine bessere variante?

<meta http-equiv="refresh" content="5;url=index.php">

wenn ich daten übertrage über oop kann ich darin ein array benutzen wie dieses :
PHP-Code:
$eintrag = ("INSERT INTO bg_user (username, password) VALUES (?, ?)""INSERT INTO bg_user_ext (email) VALUES (?)"); 
das ist ja klar
PHP-Code:
$kommando $link->prepare($eintrag); 
aber wie soll ich sowas benutzenkönnen
PHP-Code:
$kommando->bind_param('ss'$_POST['name'], $_POST['pass']); 
das hier halt kürzer:

PHP-Code:
    $bg_user 'INSERT INTO bg_user (username, password) VALUES (?, ?)';
    
$bg_user_ext 'INSERT INTO bg_user_ext (email) VALUES (?)';
    
$kommando $link->prepare($bg_user);
    
$kommando2 $link->prepare($bg_user_ext);
    
$kommando->bind_param('ss'$_POST['name'], $_POST['pass']);
    
$kommando2->bind_param('s'$_POST['email']);
    
$kommando->execute();
    
$kommando2->execute();
    
$link->close(); 
und kann ich über php, von 2 tabellen 2felder beziehungen einstellen (komisch geschrieben )

dann noch etwas :P in mysql datenbanken gibt es eine funktion für tabellen die password(über md5 vllt?^^) heißt, wie setze ich diese bei dem db-install script ein

^^ :P ja ich mag smileys

Geändert von BlackWolf-Design (22.11.2009 um 16:51 Uhr).
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 24.11.2009, 19:27   #9 (permalink)
Benutzer
 

Standard

refresh refresh

^^ :P ja ich mag smileys
BlackWolf-Design ist offline   Mit Zitat antworten An Facebook senden
Alt 24.11.2009, 19:39   #10 (permalink)
Erfahrener Benutzer
 

Standard

Hallo,
auf alles kann ich dir jetzt so schnell keine Antwort geben, da ich grad nicht viel Zeit habe:
Ein Refresh würde ich mit JavaScript realisieren und AJAX verwenden(Xhttprequest -> Google).
Mit dem Array würde ich Mal ausprobieren ich glaube aber incht, dass das geht.
Beziehungen würde ich mit JOINS machen(ist ein langes Thema gibt aber gute Tutorials dazu)
Passwortverschlüsselungen mach man am besten mit Salted-Hashs. Schlechte ist die Funktion md5(). Dabei speichert du den Hash der bei md5($passwort); rauskommt in der Datenbank.

MfG
Phybot

PS: Ich hoffe ich konnte dir trotzdem helfen.

Phybot 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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:28 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0