2012-04-11 6 views
0

Ich habe phpMyAdmin läuft mit MAMP, und ich finde es unmöglich, mysql_connect() zu verwenden.mysql_connect() verweigert immer Zugriff

$_db_connect = mysql_connect("root", "localhost"); 

erzeugt einen Fehler in php_error.log: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user'root'@'localhost' (using password: NO) in /....../common.lib.php on line 19

Ich habe die Privilegien ausgecheckt:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION 

GRANT PROXY ON '' @ '' auf 'root' @‘ localhost 'MIT GRANT OPTION

und ich bin einfach ratlos. Ich habe neue Benutzer mit Passwörtern erstellt, nur um das gleiche Ergebnis zu erhalten. Merkwürdiger es sagt immer (using password: NO), auch wenn ich als Benutzer miteinem Passwort versuchen, eine Verbindung:

$_db_connect = mysql_connect(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASSWORD); 

Jede Beratung wird begrüßt. Vielen Dank!

+0

http://php.net/ manual/de/function.mysql-connect.php dritter param sollte passwort – YamahaSY

+0

sein root hat passwort. mysql_connect ('localhost', 'mysql_user', 'mysql_password'); ' – Vytautas

+0

Probier das Passwort" root "siehe auch meine Antwort – rekire

Antwort

1

Ihnen fehlt das Passwort in der Funktion. Auch der Funktionsaufruf ist falsch. Machen Sie es wie folgt aus:

$_db_connect = mysql_connect("localhost", "root", "password"); 

wo password das Passwort für Ihr Root-Account ist. Es könnte anders sein.

+0

Ich habe das versucht, wie ich in meinem ursprünglichen Beitrag sage. Auch mein root-Konto hat kein Passwort. – user1326581

+0

Aber die Fehlermeldung besagt: ''* 81F5E21E35407D884A6CD4A731AEBFB6AF209E1B'' wie Sie Root-Passwort (offensichtlich verschlüsselt). – hjpotter92

1

passieren das Passwort, als dritter Parameter

$_db_connect = mysql_connect("localhost", "root", "password"); 
1

erste param in mysql_connect Funktion DB-Host ist, und Sie müssen 3 params verwenden - Passwort zu verwenden.

so diese Syntax verwenden:

$ db = mysql_connect ('localhost', 'mysql_user', 'mysql_password');

3

Diese Fehlermeldung für Dummies:

Access denied for user 'root'@'localhost' (using password: NO) 

Es besteht aus drei Teilen, die jeweils sie enthält wichtige Informationen. Mal sehen:

  1. Zugriff verweigert - In einfachen Worten bedeutet dies: Verschwinde! Versuche nicht, dich mit mir zu verbinden.
  2. für Benutzer 'root' @ 'localhost' - Das sagt, wem Zugriff verweigert wird, dieser Benutzer. Der Name: root und bei (@) der folgende Server: localhost.
  3. mit Passwort: NO - Nur einige nette zusätzliche Informationen, dass beim Versuch, auf den Benutzernamen zuzugreifen und geben, kein Passwort verwendet wurde.

So, jetzt auf mit den Privilegien Sie haben:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' 
IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' 
WITH GRANT OPTION 
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION 

Es sagt im Grunde, dass die Benutzer 'root'@'localhost' Bedürfnisse ein Passwort zu verwenden, um Zugang zu erhalten. Wie Sie der Fehlermeldung entnehmen können, verwenden Sie kein Passwort. Das ist wahrscheinlich die Ursache für den Fehler, das Passwort fehlt.

Fügen Sie das Passwort hinzu und versuchen Sie es erneut.

2

Sie haben vergessen, das Passwort einzugeben. Wenn ich mich recht dann erraten ist die Hash-81F5E21E35407D884A6CD4A731AEBFB6AF209E1B das Passwort „root“ (bestätigen diese SQL-Anweisung eingeben:. SELECT PASSWORD('root')

Versuche mit dem richtigen Passwort anmelden:

$_db_connect = mysql_connect("localhost", "root", "root");