Seite 1 von 1

Datenbankzugang öffnen

Verfasst: 17.05.2007 22:23
von Zez-Kai-Ell
Ich habe ein kleines (oder auch größeres) Problem, vielleicht könnt ihr mir ja weiterhelfen. Ich habe bereits sämtliche Referenz-Seiten durchstöbert und Foren durchsucht, nirgends gab es eine Lösung oder ein Problem wie meins. Bin also wirklich auf euch angewiesen.

Wie es sein soll:
Man spielt ein Flashgame, das in die Seite eingebunden ist. Wenn man GameOver ist, hat man die Möglichkeit sich in die Highscore zu dem Spiel einzutragen. Dazu klickt man an einen Link und die Flash-Anwendung schickt die Punktzahl an eine PHP-Seite und öffnet diese. (Bis dahin gehts.) Dort soll dann diese Punktzahl mit Username und Datum in eine Highscore (Datenbank) eingetragen werden.

Wie es wirklich ist:
Die Seite wird zwar geöffnet und die Variable auch übertragen, doch die SQL-Anforderung wird einfach ignoriert.

Code:

Code: Alles auswählen

//
// Eintrag hinzufügen
//
if (isset($_POST['pkte'])) {
	$punkte = $_POST['pkte'];
	$datum = date("d.m.Y");
	$name = $userdata['username'];
	echo ("Punkte: " . $punkte);
	echo ("<br>Name: " . $name);
	echo ("<br>Datum: " . $datum);
	$sql = 'INSERT INTO `phpbb_games_gummi` (punkte, username, datum) '
        . ' VALUES (' . $punkte . ', "' . $name . '", "' . $datum . '")';
	echo ("SQL: " . $sql);
}
Echo-Ausgabe (zur Überprüfung):
Punkte: 5 (oder ein anderer korrekter Wert)
Name: Zez-Kai-Ell (oder ein anderer korrekter Name)
Datum: 17.05.2007 (oder ein anderes korrektes Datum)
SQL: INSERT INTO `phpbb_games_gummi` (punkte, username, datum) VALUES (5, "Zez-Kai-Ell", "17.05.2007")

Anmerkungen dazu:
Die Variablen funktionieren alle wie sie sollen, an ihnen kann es also nicht liegen.
Der SQL-Befehl wird wie gewünscht erstellt.
Der SQL-Befehl ist korrekt, wenn ich ihn direkt in MyAdmin einfüge, wird er wie gewünscht umgesetzt.

Weitere Überlegung:
Da der Code scheinbar korrekt ist und dir Datenbank den richtigen Befehl erhalten würde, schließe ich daraus, dass eine Verbindung zur Datenbank fehlt.

Meine Frage also:
Wie stelle ich eine Verbindung zur Datenbank oder woran könnte es sonst liegen?

Erfahrungen bei Lösungsversuchen:
Es muss wirklich an der Verbindung zur Datenbank liegen, da der SQL-Befehl an anderen Stellen des Forums (zum Beispiel in posting.php) funktioniert, doch da brauche ich ihn ja nicht.
Der Befehl msql_connect (natürlich mit nötigen Parametern) wird irgendwie nicht erkannt.

Ich hoffe mir kann da irgendjemand helfen, bin nämlich völlig ratlos...

Verfasst: 17.05.2007 22:56
von Miriam
Wenn das alles an Code ist, kann es nicht funktionieren: Du schickst die Query ja nie ab.

Code: Alles auswählen

if( !$result = $db->sql_query ($sql) )
{
$error = $db->sql_error();
print $error['message'];
}
Und damit das auch klappt, solltest Du Deine PHP Datei entsprechend dieser hier aufbauen: KB:phpbb_seite.

Und das habe ich alles innerhalb von 2 Minuten suchen gefunden.... Gut nicht wahr?

Verfasst: 17.05.2007 23:04
von Zez-Kai-Ell
Wie so eine Seite aufgebaut sein muss, weiß ich schon, bin ja auch kein Dummie. ;)
Aber natürlich trotzdem danke.

Und abschicken tu ich sie auch, jedenfalls theoretisch...

Wenn eine Lösung wirklich in zwei Minuten zu finden ist, hätte ich sie sicher auch gefunden. :roll:

Re: Datenbankzugang öffnen

Verfasst: 18.05.2007 15:35
von Miriam
Zez-Kai-Ell hat geschrieben:Wie es wirklich ist:
Die Seite wird zwar geöffnet und die Variable auch übertragen, doch die SQL-Anforderung wird einfach ignoriert.

Code:

Code: Alles auswählen

//
// Eintrag hinzufügen
//
if (isset($_POST['pkte'])) {
	$punkte = $_POST['pkte'];
	$datum = date("d.m.Y");
	$name = $userdata['username'];
	echo ("Punkte: " . $punkte);
	echo ("<br>Name: " . $name);
	echo ("<br>Datum: " . $datum);
	$sql = 'INSERT INTO `phpbb_games_gummi` (punkte, username, datum) '
        . ' VALUES (' . $punkte . ', "' . $name . '", "' . $datum . '")';
	echo ("SQL: " . $sql);
}
Dann poste doch auch den ganzen Code und nicht nur den Teil, von dem Du meinst, dass er gezeigt werden müsste. Das spart uns wirklich sehr viel Zeit.

KB:Datei.