# MYSQL - Keine Verbindung mit Datenbank



## B-Squad (27. Juni 2006)

Hallo alle zusammen. 

Und zwar hab ich ein Problem mit der Installation eines Gaestebuchs (PowerBook 1.21 vom http://www.designnation.de)

Ich habe alle Daten auf meinen Server hochgeladen und eine Datenbank erstellt. Wenn ich nun die Installationsdatei starte, dann steht da immer: 

Fehler: MySQL-Verbindung konnte nicht hergestellt werden!

Soweit ich weiss habe ich in der mysql Datei des Gaestebuchs alle Daten richtig eingetragen (mysql server, datenbankuser, datenbankpasswort und datenbank name)

Ich habe mich mal mit Phpmyadmin in die Datenbank eingeloggt und da steht unter "Server:localhost", in der Spalte "Mysql" --> "Keine Rechte"

Ich habe gehoert, dass ich "Create und Drop" Rechte brauche, damit die Installations-Datei eigenstaendig Tabellen in die Datenbank erstellen kann.

Ist das korrekt ?! Ihr muesste verstehen, dass dies meine ersten Erfahrungen mit MSQL-Datenbanken sind.

Brauche ich nun diese "Drop und Create" Rechte ?! Wenn ja, wie bekomme ich diese ?

Falls es nicht daran liegt, woran kann es sonst liegen ?!

Waere echt super wenn ihr mir weiterhelfen koenntet


MfG B-Squad


----------



## Sven Mintel (27. Juni 2006)

naja...die Fehlermeldung deutet eher darauf hin, dass die Daten für den Server nicht stimmen...denn eine Verbindung zum Server solltest du auch ohne die genannten Rechte herstellen können.

Das "keine Rechte" bezieht sich dort wohl auf das Anlegen neuer Datenbanken-> diese Rechte hast du in der Regel nicht, da so ein Webpaket  ja idR. eine begrenzte Anzahl DBs beinhaltet, worüber dein Hoster natürlich selbst die Kontrolle behalten will.

Wo befindet sich dieser Server eigentlich...bei dir daheim auf dem Rechner?
Falls nicht, bezweifle ich stark, dass der Server "localhost" heisst.


----------



## B-Squad (27. Juni 2006)

Hmm.. 

Das sind die Daten die ich eingetragen habe:

 $config_sql_server = "xxx";          // MySQL Server Adresse
     $config_sql_user = "xxx";                                 // MySQL User
     $config_sql_password = "XXXXXXXX";                     // MySQL Passwort
     $config_sql_database = "xxx";                // MySQL Datenbank



Im unterem Bereich hab ich nix geaendert !

     $pb_config = "pb_config";                              // Name der Config-Tabelle
     $pb_admin = "pb_admins";                            // Name der Admin-Tabelle
     $pb_entries = "pb_entries";                            // Name der Eintrags-Tabelle



Das Passwort wird denk ich mal das sein, womit ich mich bei Confixx und bei phpmyadmin einlogge, oder?


----------



## Sven Mintel (27. Juni 2006)

Ich hab die anderen Daten auch mal entfernt.... sicher ist sicher 

Dass das Passwort für PHPMyAdmin dasselbe sein muss, wie für den MySQL-Server, muss nicht gezwungenermassen sein....das hängt davon ab, wie der Zugang zu PHPMyAdmin gesichert wurde.

Ich werde mal kurz bei dem Server anklopfen, mal sehen, was er sagt 

Die Fehlermeldung selbst ist recht uneindeutig, da sie wahrscheinlich nicht durch mysql erzeugt wird.


----------



## Dr Dau (27. Juni 2006)

Hallo!

@Sven, wenn Apache/PHP auf dem gleichen Server laufen wie MySQL und von diesem auch phpMyAdmin aufgerufen wird, dann ist localhost sehr wohl möglich (ist dann ja kein externer Zugriff). 

Was mir aber spontan (wie so oft  ) auffällt, das Script wird nicht bei register_globals=OFF laufen. 

Öffne mal die config.inc.php und setze ganz unten noch ein *?>* in eine neue Zeile.
Ob es daran liegt kann ich Dir so nicht sagen, der Fehler ist mir nur gerade aufgefallen.

Gruss Dr Dau


----------



## Sven Mintel (27. Juni 2006)

Naja...den Servernamen weiss ich jetzt ja...ist nicht localhost, und da ist er auch.

@B-Squad
teste mal dies:

```
<?php
$config_sql_server    = "xxx"; // MySQL Server Adresse
$config_sql_user      = "xxx"; // MySQL User
$config_sql_password  = "xxx"; // MySQL Passwort
$config_sql_database  = "xxx"; // MySQL Datenbank

$my_con = mysql_connect($config_sql_server,$config_sql_user,$config_sql_password) or die(mysql_error());
$my_db=mysql_select_db($config_sql_database,$my_con)or die(mysql_error());
?>
```

Was für Fehlermeldungen bekommst du?


----------



## B-Squad (27. Juni 2006)

@ Sven:

also ich soll die msql Datei so aendern wie du es gepostet hast, richtig?! und was ist mit dem teil:

$pb_config = "pb_config"; // Name der Config-Tabelle
$pb_admin = "pb_admins"; // Name der Admin-Tabelle
$pb_entries = "pb_entries"; // Name der Eintrags-Tabelle

soll er entfernt oder am Ende angefügt werden ?!

Werde es ausprobieren, sobald ich zu hause bin.

Vielleicht sollte ich erwaehnen, dass ich auf schon versucht habe ein Shopsystem (xtcommerce) und ein Flirtsystem zum Laufen zu bekommen .. aber bei den beiden Sachen hab ich ebenfalls keine Verbindung mit der Msql Datenbank bekommen.

Vielleicht ist es ja ein globales Problem und hat nicht direkt was mit dem Gaestebuchscript zu tun ?!

Sven, du hast ja gesagt, dass du bei meinem "Msql Server anklopfen willst" ... hat das denn geklappt ? Kannst du mir vielleicht die Adresse von meinem Msql Server schicken.. nicht dass ich bei den ganzen Einstellungen immer die falsche Adresse eingetragen habe ?!  Oder war die Adresse, die ich am Anfang des Posts stehen hatte (die du aus Sicherheitsgruenden entfernt hast  ), richtig ?!

Das Msql Passwort hab ich uebrigens nochmal eingestellt.. am Passwort muesste es also nicht liegen.


MfG B-Squad


----------



## Sven Mintel (27. Juni 2006)

die anderen Sachen brauchst du dabei nicht.
Der Skripschnipsel versucht nur, den DB-Server zu connecten und eine DB auszuwählen und gibt im Fehlerfall eine entsprechende Fehlermeldung aus, welche aufschlussreicher sein dürfte als die vom Gästebuch....so kann man das Problem dann schon mal etwas eingrenzen.


----------



## B-Squad (27. Juni 2006)

@ Sven

Ok.. werde die Msql Datei vom Gaestebuch so wie du es gepostet hast abaendern.

Die Installation von dem Gaestebuch wird dann wohl weiterhin nicht gehen, weil ich ja den restlichen Code entfernt habe .. sehe ich das richtig ?! Es geht nur um die Fehlereingrenzung, oder?

Und wie sieht es mit der Msql Server Adresse aus .. war die in meinem Fall korrekt !?


----------



## B-Squad (27. Juni 2006)

Sven Mintel hat gesagt.:
			
		

> die anderen Sachen brauchst du dabei nicht.
> Der Skripschnipsel versucht nur, den DB-Server zu connecten und eine DB auszuwählen und gibt im Fehlerfall eine entsprechende Fehlermeldung aus, welche aufschlussreicher sein dürfte als die vom Gästebuch....so kann man das Problem dann schon mal etwas eingrenzen.




ok.. hab gemacht was du wolltest... jetzt kam diese Fehlermeldung:


#HY000Host 'server52.whois-wrsds.de' is not allowed to connect to this MySQL server


Hilft sie dir weiter ?!


----------



## Dr Dau (27. Juni 2006)

Solche Meldung kommt z.b. dann wenn der MySQL Server zwar prinzipiell externe Zugriff erlaubt, dem Benutzer in der Benutzerverwaltung jedoch nicht der Zugriff von einem beliebigem Server erlaubt ist, sondern nur von einem bestimmten.
Es scheint also, als wenn Du von einem Server mit MySQL zu connecten versuchst, dem es (laut Benutzerverwaltung) nicht erlaubt ist.

Hat Dir Dein Hoster phpMyAdmin zur Verfügung gestellt oder hast Du es selber hochgeladen?
Und wenn Du es selber hochgeladen hast, welchen Host hast Du dann in der Konfiguration von phpMyAdmin angegeben?


----------



## B-Squad (27. Juni 2006)

Also .. ein Bekannter hat einen kompletten Server gemieten .. mit allem drum und dran.. er ist somit Superadmin und loggt sich mit einem anderen Benutzernamen und Passwort ein als ich ... auf diesem Server hab ich einen Benutzer Account .. und der Bekannte hat mir angeblich alle Rechte gegeben, die man vergeben kann..

Ich melde mich dann normal ueber Confixx an .. und die Datenbanken verwalte ich ueber Phpmyadmin .. wenn ich mich bei Phpmyadmin einlogge, dann erscheint dieses Fenster (siehe Anhang) wo irgendwas mit "Keine Rechte" steht.. (Anhang)

Hat dieses "Keine Rechte" irgendwas mit meinem Problem zu tun ?


----------



## Dr Dau (27. Juni 2006)

"Keine Rechte" bedeutet nur dass Du keine neuen Datenbanken anlegen kannst..... Tabellen solltest Du trotzdem anlegen können, da Du ja eine Datenbank hast (siehe links im Menü von phpMyAdmin).

Ist Dein Webspace denn auf dem gleichen Server wie MySQL? (sollte Dir Dein Bekannter beantworten können)
Wenn nein, dann frage Deinen Bekannten mal ob er für Dich einen Account mit den Zugriffsrechten Benutzername@% angelegt hat (wobei "Benutzername" natürlich Dein Benutzername sein muss).
Dass Du alle Rechte hast, bedeutet nicht gleich dass Du von jedem Server zu MySQL connecten darfst..... und hier scheint mir das Problem zu liegen (siehe Deine Fehlermeldung), denn die Fehlermeldung ist eindeutig.


----------



## B-Squad (28. Juni 2006)

Dr Dau hat gesagt.:
			
		

> "Keine Rechte" bedeutet nur dass Du keine neuen Datenbanken anlegen kannst..... Tabellen solltest Du trotzdem anlegen können, da Du ja eine Datenbank hast (siehe links im Menü von phpMyAdmin).
> 
> Ist Dein Webspace denn auf dem gleichen Server wie MySQL? (sollte Dir Dein Bekannter beantworten können)
> Wenn nein, dann frage Deinen Bekannten mal ob er für Dich einen Account mit den Zugriffsrechten Benutzername@% angelegt hat (wobei "Benutzername" natürlich Dein Benutzername sein muss).
> Dass Du alle Rechte hast, bedeutet nicht gleich dass Du von jedem Server zu MySQL connecten darfst..... und hier scheint mir das Problem zu liegen (siehe Deine Fehlermeldung), denn die Fehlermeldung ist eindeutig.




Also ich kann ohne Probleme neue Datenbanken erstellen. Ich gehe einfach bei "Confixx" unter "MYSQL", und drücke auf "Neue Datenbank erstellen" .. und dann ist sie da.

Ob der Webspace auf dem gleichen Server wie Msql ist weiss ich nicht.. aber ich werd mich mal schlau machen.

Wie muss der Accout aussehen ?!  "mein_benutername"@"adresse_vom_mysql_server" oder "mein_benutername"@"adresse_vom_webspace_server" ?


Vielen Dank fuer die Hilfe !


----------



## Dr Dau (28. Juni 2006)

Laut dem Bild dürftest Du eigentlich keine neue Datenbank anlegen können..... aber egal, ist ja nur zum Vorteil für Dich. 

Wenn ein bestimmter Server angegeben werden soll, dann muss es "mein_benutername"@"adresse_vom_webspace_server" lauten.
Der bereits vorhandene Benutzer sollte aber nicht gelöscht werden..... sonst wird der Zugriff via Confixx wahrscheinlich nicht mehr funktionieren.


----------



## B-Squad (11. Juli 2006)

Hab das Problem geloest .. habe den Provider angeschrieben und gefragt was fuer Einstellungen ich treffen muss.. 

War ansich ganz simpel .. ich musste bei Mysql Server einfach nur "localhost" eintragen 


nun hab ich ein neues Problem mit dem Gaestebuch:

Und zwar, wenn man den Text in das Textfeld eingibt, dann gibt es keinen Umbrauch Ende des Textfeldes. Man muss erst "Enter" druecken um einen Umbrauch zu bekommen.

Wenn man nun den Eintrag abschickt, dann "sprengt" er mein Layout, da er viel zu breit ist.

Bei der Textarea kann ich Einstellungen bezueglich des Umbruchs machen, naemlich "Standard" , "Aus", "Virtuell" und "Physisch", aber irgendwie klappt es mit keiner dieser Einstellungen 


Hier ist der Code von der Textarea:

<td>

<textarea name="text" cols="20" rows="10" wrap="hard" class="textarea"><?PHP echo $text; ?>
</textarea>

<br>

<?PHP
     if ($config_smilies == Y) {
        if ($smilies2 == Y || $show_gb != no) { $checked_smilies = "checked"; }
        echo "
             <input type=\"checkbox\" name=\"smilies2\" $checked_smilies value=\"Y\">
             Smilies aktivieren &nbsp;
             <small>(<a href=\"javascript:SmiliesHelp()\">Hilfe</a>)</small>
        ";
     }
?>

      </td>



Ich hoffe ihr koennt mir helfen .. Danke !


----------



## Dr Dau (11. Juli 2006)

Wrap dient nur zur Darstellung im Textarea.
Ich bin mir jetzt aber nicht sicher ob nicht doch ein Zeileunumbruch eingefügt wird.
Schaue am besten mal mit phpMyAdmin in die entsprechende Zelle ob dort der Text umbrochen ist.
Wenn ja, dann wurde ein "\n" als UNIX-Zeilenumbruch angewendet (kannst Du aber nicht sehen)..... und dazu gibt es die praktische Funktion nl2br(), die jedes "\n" in ein HTML-Umbruch (<br> bzw. <br />) umwandelt.

Wenn der Text in phpMyAdmin nicht umbrochen wird, dann schaue Dich mal im PHP-Forum um..... da wurden schon zahlreiche Lösungsmöglichkeiten durchgegangen (mir fehlen aber gerade die passenden Stichwörter).


----------

