2017-05-29 11 views
1

Ich habe ein Problem mit einer Datenbankverbindung. Es klingt sehr einfach, aber ich habe jetzt eine Lösung für eine Weile gesucht ...PHP Fehler beim Versuch, eine Verbindung zur MySQL-Datenbank herzustellen

Mein Server:

  • Ubuntu 16.04
  • Apache 2
  • PHP 7.0.15

Ich legte dieses PHP-Skript in /var/www/html und gab es chmod 744/755 zum Testen.

try { 
    $pdo=new PDO ('mysql:dbname=test;host=ip-address', 'user', 'password'); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch(PDOException $e) { 
    echo 'Verbindung fehlgeschlagen: ' . $e->getMessage(); 
} 

Aber wenn ich diese Datei in meinem Browser aufrufen, zeigt die folgende Meldung:

SQLSTATE [HY000] [2002] Verbindung

Der Datenbank-Benutzer alle Rechte hat verweigert . Ich habe auch den Root-Benutzer ausprobiert.

Kann mir jemand mit diesem helfen? Was könnte das Problem sein? Ich kann keine Antwort finden.

Danke - Flo!

+0

Neustart sql und Apache. – danjbh

+0

Probieren Sie: '$ pdo = neues PDO ('mysql: host = ip-adresse; dbname = test', 'benutzer', 'passwort');' – danjbh

+0

Läuft MySQL und ist es auf dem Standardport 3306? – Qirel

Antwort

1

Ihr Code ist korrekt, ich habe es mit meiner Datenbank getestet. Nur kleiner Tippfehler ist da, catch(PDOException §e) haben das falsche Zeichen '§' anstelle von '$'

+0

Entschuldigung für diesen Tippfehler Ich machte diesen Fehler hier, aber im Skript auf dem Server ist es ein $ – Flapy

+0

sehen Sie, indem Sie Portnummer auch, '$ pdo = neues PDO ('mysql: dbname = test; host = IP-Adresse; Port = xxxx; ', $ Benutzername, $ Passwort); ' –

Verwandte Themen