Hi,
ich bekomme einfach keine Verbindung her es wird immer der Fehler 3 und
"Verbindung" ausgegeben. ("Verbindung" heißt dass eine Verbindung zum
Server aufgebaut wurde und Fehler 3 mit der Datenbank)
Ich komme aber nicht drauf:
Hast du den geprüft ob die Datenbank schon existiert?
Mal abgesehen davon das deine Fehlerbehandlung manchmal nicht so
funktionieren wird wie gedacht, gibt es auch eine Funktion um sich den
letzten Fehlertext auszugeben, die solltest du nutzen....
Es gibt in der PHP Doku doch ein verständlichen Beispiel wieso nutzt du
das nicht? (http://www.php.net/manual/de/function.mysql-select-db.php)
Irgendwelche "Tutorials" sind, wenn man keine Ahnung hat, doch eher mit
Vorsicht zu genießen.
Anmerkung: This function should only be used to change the default
database for the connection. You can select the default database with
4th parameter in mysqli_connect().
Simon Name schrieb:
> Aber jetzt wird in MySQL eine Datenbank in der bei name und email steht> immer eine 0 wenn ich etwas reinschreibe.> Was ist da los?
Solange du keine Scripte postest, oder ähnliches, kann dir keiner
helfen, verdamte Axt... Glaubst du wir haben hier ne Glaskugel?
Woher sollen wir wissen wie deine DB aussieht, welche felder, Datentypen
etc...?!
Ist die DB überhaupt richtig aufgebaut? Normalisiert bis zur 3.
Normalform?
Referenzielle-Intigrität? Sind die Beziehungen richtig? Wie viele
Tabellen?
ERM? Welche Funktionen benutzt du um in die DB zu schreiben? Schreibst
du direkt oder überprüfst du die Eingaben?
Also ich hab keine Glaskugel! Ergo: keine vernünftige Hilfe möglich!
Wenn ich raten muss: Du benutzt ne falsche Funktion zum reinschreiben
oder schreibst falsche Datentypen in die Felder...
Simon Name schrieb:> $verbindung=mysql_connect("localhost","root@localhost")or
Bitte tu Dir den Gefallen und wirf das mysql_connect und seine Kollegen
raus und ersetze es durch PDO http://php.net/manual/de/intro.pdo.php
Das ist eine datenbankunabhängige, sauber designte Schnittstelle für
sowas. Du kannst damit Dein Programm dann mit überschaubarem Aufwand auf
sqlite, Postgresql oder sonstwas umstellen. Solange Du noch am Anfang
bist, ist das schnell umzustellen. Mach es also gleich richtig. Und
schwieriger ist das auch nicht.
> $name=$_POST["name"];> $email=$_POST["email"];> $eintragindb="INSERT INTO tabelle> (name, email)> VALUES> ('$name','$email')";
oh,oh. http://de.wikipedia.org/wiki/SQL-Injection
richtig macht man sowas mit prepared statements, also in etwa so:
1
$sth=$dbh->prepare("INSERT INTO tabelle (name, email) VALUES (':name',':email')");