Mysql datenbankauswahl fehlgeschlagen?

hallo zusammen!

also die verbindung ist ok. aber wenn ich die datenbank aufrufen will gibt es eine fehlermeldung. ich benutze xampp. root hat kein passwort.

der datenbankname ist richtig geschrieben und auch nicht vertauscht siehe php code. id#5

danke schonmal im voraus!

$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);

if ( $db_link )
{
echo 'Verbindung erfolgreich: ';
echo $db_link;
}
else
{
die('keine Verbindung möglich: ’ . mysql_error());
}
//mysql_close($db_link );

$db_link = mysql_connect ( MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT );

$db_sel = mysql_select_db(MYSQL_DATENBANK,$db_link)
or die(„Auswahl der Datenbank fehlgeschlagen“);

Und wie lautet der mysql_error, nach dem Befehl „mysql_select_db“?

Gruß
Nullraff

Hi,
ich glaube, Du beendest die Verbindung vor der Auswahl der Datenbank. Auch wenn das mysql_close() auskommentiert ist, es gehört dort nicht hin. Es darf frühestens nach absetzen deiner mysql_query() kommen. Eigentlich brauchst Du es garnicht, die Verbindung wird am Skriptende automatisch geschlossen. Aber es gehört zum „guten Ton“, es trotzdem zu tun.

Ich geb Dir mal einen Schnipsel Code. Kannste in eine Datei kopieren, Deine Daten reinbasteln und bei Bedarf am Skriptanfang per include_once(); einhängen. Dann brauchst Du nur noch die Funktion connect(); aufrufen und kannst Deine query absetzen.
Ein mysql_close($db); beendet die Verbindung. Aber bitte erst hinterher!

Micha

<?php # central file to opening database-connections
# written by Michael Schmieder [[email protected]](mailto:[email protected]) $host = "localhost"; # name (destination) of the MySQL-Server $dbuser = "username"; # name of database-user $dbpasswd = "password"; # password for database-access $database = "datenbankname"; # name of database function check\_mysql() { if (mysql\_errno() \> 0) { die(" Beim Zugriff auf die Datenbank ist ein schwerwiegender Fehler aufgetreten. Senden Sie bitte diese Fehlermeldung an den Webmaster [[email protected]](mailto:[email protected]): " .mysql\_error()); }} function connect() { $db = mysql\_connect($GLOBALS['host'], $GLOBALS['dbuser'], $GLOBALS['dbpasswd']); check\_mysql(); mysql\_select\_db($GLOBALS['database']); check\_mysql(); } ?\>

$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER,
MYSQL_KENNWORT);

if ( $db_link )
{
echo 'Verbindung erfolgreich: ';
echo $db_link;
}
else
{
die('keine Verbindung möglich: ’ . mysql_error());
}
//mysql_close($db_link );

nochma???–>:blush:db_link = mysql_connect ( MYSQL_HOST, MYSQL_BENUTZER,

MYSQL_KENNWORT );

$db_sel = mysql_select_db(MYSQL_DATENBANK,$db_link)

vielen dank erstmals!

aber jetzt kann ich auch mit xampp per phpmyadimin keine verbindung zu mysql herstellen.

Fehler
MySQL meldet:

Die Verbindung konnte aufgrund von ungültigen Einstellungen nicht hergestellt werden.

phpMyAdmin hat versucht eine Verbindung zum MySQL-Server aufzubauen, jedoch hat dieser die Verbindung zurückgewiesen. Sie sollten Ihre Einstellungen für Host, Benutzername und Passwort in Ihrer config.inc.php überprüfen und sich vergewissern, dass diese den Informationen, welche Sie vom Administrator erhalten haben, entsprechen.

in der php datei, wenn ich „root“ angebe bekomme ich folgende fehlermeldung.

Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‚root‘@‚localhost‘ (using password: NO) in C:\xampp\htdocs\forum\suche.php on line 61
keine Verbindung möglich: Access denied for user ‚root‘@‚localhost‘ (using password: NO)

Haja,

dann hat root ein Passwort. Es gibt bei Xampp eine security-Funktion. wenn Du die nach der Installation ausgeführt hast, hat root hinterher ein Passwort.

Im Ordner htdocs liegen direkt nach der Installation von Xampp Dateien, die Du Dir über http://localhost anschauen kannst. Diese Dateien liegen nochmal im Unterordner ./xampp (jedenfalls in den aktuellen Versionen von Xampp). Wenn Du Dir die anschaust, siehst Du irgendwo, ob Xampp im Safe-Modus ist (also Passwörter gesetzt sind) Du siehst aber nicht, welche. Die lassen sich auch nicht auslesen, sind als hash-Wert gespeichert.

Wenn wirklich Passwörter gesetzt sind und Du das Passwort nicht mehr weisst, empfehle ich Dir, Deine Daten zu sichern und Xampp neu zu installieren. Ich hoffe, Du hast den Inhalt der Datenbank noch, denn da kommst Du jetzt auch nicht mehr ran.

Von der Bearbeitung der config.inc.php rate ich Dir ab. Das ist im Rahmen der Xampp-Pakete unnötig. Diese Empfehlung gilt für User, die phpMyAdmin nachträglich an eine bestehende Datenbank anhängen.

Tut mir leid, dass ich Dir da unterstellen muss, dass Du doch ein Passwort gesetzt hast, aber so sieht es leider aus.

Micha

danke!

der fehler war, das ich den ftp server nicht installiert habe. dann funktioniert phpmyadmin wieder.

das mit mysql habe ich auch hinbekommen. jetzt muss ich sehen mit welcher schleife ich die datensätze einlese und ausgebe.

Hi,

bei mir sieht das in einem funktionierenden Script so aus:
mysql_connect(‚serveradresse‘,‚benutzer‘,‚passwort‘);
mysql_select_db(‚datenbank‘);

Achte auf die Hochkommata (Abostroph sind keine Hochkommata!).

Die Konstruktion „or“ kenne ich nicht. Hast du evtl. in der zweiten Zeile von unten den ; vergessen?

Warum überschreibst du eigentlich die db_link-Variable mit genau dem Inhalt, der schon drin steht?

Mahlzeit,

also die verbindung ist ok. aber wenn ich die datenbank
aufrufen will gibt es eine fehlermeldung. ich benutze xampp.
root hat kein passwort.

was ist denn die Fehlermeldung bzw. die Fehlernummer?

hallo,

gib root ein passwort und weise das passwort der konstanten MYSQL_KENNWORT zu.

cu
harald
********************

Hi,

also ich sehe zwar den kausalen Zusammenhang zwischen dem FTP-Server und PhpMyAdmin nicht, aber ich freue mich, dass Deine Installation wieder läuft. Ich vermute mal, Du hast das ganze Paket nochmal drüber gebügelt und auf diesem Weg den root-Zugang ohne Passwort erneuert.

Egal, es läuft.

Viel Glück bei Deinem Projekt!

Micha

Hallo,

so wäre die „offizielle“ Version

<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) { die('Verbindung schlug fehl: ' . mysql\_error()); } echo 'Erfolgreich verbunden'; mysql\_close($link); ?\> Pass dass doch mal an deine Vorgaben an, und teste es.

Liebe/-r Experte/-in,
Wie Felix:

„mysql_select_db(‚datenbank‘);“
Ohne DB Auswahl geht gar nichts.

  1. Für „realitätsnahes“ Testen empfehle ich, einen Benutzer für die DB einzurichten, und diesem Vollzugriff für diese DB zu gewähren. Das natürlich mit Passwort, dann sollte alles laufen.