Datenbank Verbindung ist wie verhext

Hi,
ich habe mal mein Problem vom Code her auf ein Minimum reduziert.

Code:

[code]

</head>

<body>
	<?php
		$verbindung = mysql_connect ("localhost", "meascg", "*******")
		or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");

		mysql_select_db("mensascg") 
		or die ("Die Datenbank existiert nicht.");
	?>
</body>
[/code]

Wenn ich alle Daten richtig eingebe, dann wird nichts angezeigt. Das soll ja aber auch so sein.
Wenn ich dann aber mein Passwort falsch eingebe oder Den Usernamen verändere, wird keine Fehlermeldung ausgegeben.

Jetzt meine Frage was mache ich denn bloß FALSCH ???

LG mensascg :motz:

Auf den ersten Blick: Dein Benutzername ist falsch. Da fehlen zwei Buchstaben :wink:

Ja aber daran liegt es nicht. Es müsste dann ja eine Fehlermeldung auftauchen, was sie aber nicht tut. :slight_smile:

Schau einmal in diesem Thread nach. Über mysqli hast du ein wesentlich schönere Fehlerbehandlung und siehst genau, was falsch gelaufen ist.
Wenn nicht…

  • gibt es noch die Errno
  • oder schließ ich mich Mohyra an: Bei bplaced ist Datenbankname = Benutzername

Erstmal danke für deine Antwort.

Code:

[code]

</head>

<body>
	<?php
	// MySQL Settings
	$dbhost = "localhost";
	$dbuser = "mensascg";
	$dbpass = "****";
	$dbname = "mensascg";

	$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

	// Checkpoints Query
	if ($mysqli->errno) {    // errno, nicht error
		die("Es konnte Keine Verbindung zur Datenbank hergestellt werden:\n".$mysqli->connect_error);
	}
	?>
</body>
[/code]

Wenn ich alles richtig eingebe, dann wird im Browser das hier angezeigt:

errno) { // errno, nicht error die(“Es konnte Keine Verbindung zur Datenbank hergestellt werden:\n”.$mysqli->connect_error); } ?>

if ($mysqli->connect_error) ist besser, wie es der Fragensteller des Threads selbst geschrieben hat.
die(); entspricht ein print/echo mit einem anschließenden exit(); mehr nicht, d.h. es wird der Text (wo du beliebigen Text reinschmeißen kannst) ausgegeben und anschließend springt er zum Ende des php-Byte-Codes, was mir weniger gefällt, da bei solchen Codes, wie deinem das -Tag nie geschlossen wird und die Seite dadurch unförmig wird.

Steht denn jetzt die Verbindung?

1:beim alten Code kommt auch wenn ich ein falsches Passwort eingebe das selbe im Browser raus, deshalb glaube ich nicht, dass die Verbindung funktioniert.

2.mit dem neuen Code kommt wieder was anderes im Browser raus.

Was im Browser rauskommt:
connect_error) { die(“Es konnte Keine Verbindung zur Datenbank hergestellt werden:\n”.$mysqli->connect_error); } ?>

und der neue Code:

[code]

</head>

<body>
	<?php
	// MySQL Settings
	$dbhost = "localhost";
	$dbuser = "mensascg";
	$dbpass = "********";
	$dbname = "mensascg";

	$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

	// Checkpoints Query
	if ($mysqli->connect_error) {   
		die("Es konnte Keine Verbindung zur Datenbank hergestellt werden:\n".$mysqli->connect_error);
	}
	?>
</body>
[/code]

Weil deine Datei eine HTML-Datei ist. Ich würd’ mir übrigens ein ausgefeilteres Passwort suchen.

Mfg :wink2:

ok. Danke erstmal für deine Antwort. Was sollte ich denn machen, damit es keine ist …

… der Sinn dahinter ist ja, dass ich den Text der Angezeigt werden soll aus der Datenbank bekomme. :wink:

Mal so geraten: Es muss ne PHP-Datei sein.
So prinzipiell würd ich aber mal hier schauen: php.net/manual/de/language.basic … hpmode.php

Naja aber ich benutze PhP ja generell richtig. In Anleitungen, wie meinem Nachschlagewerk wird es auch so gemacht. Ebenso in diversen Dokus oder Tutorials im Netz. Ich weiß einfach nicht wo der Fehler liegt…

Bitte ändere den Dateinamen von dateiname.html zu dateiname.php

(es gibt andere möglichkeiten, aber mindestens das sollte dein Problem beheben)

VIELEN VIELEN DANK EUCH ALLEN!!! :hail: :smiley: :smiley: :smiley: :smiley:

Es klappt !!!

Ihr seit meine Rettung.

Kann ich denn trotzdem meinen normalen html code behalten oder muss ich ggf. was abändern?

Aus diesem Grund wäre es ratsam, PHP nicht in HTML-Dateien zu verwenden, dann kann es eben nicht passieren, dass man die Servereinstellungen außer Acht gelassen hat und der Quelltext samt Passwörtern offen dargestellt wird.

[quote=„mensascg“]
Kann ich denn trotzdem meinen normalen html code behalten oder muss ich ggf. was abändern?[/quote]
Ja, kannst du.

Mfg :wink2:

edit: Ich würde ja jetzt mein Passwort ändern, mein böses Ich und Gott weiß wer noch alles hat es nämlich gesehn :wink:

Danke hab ich vorhin schon gemacht :wink: