it-swarm.com.de

Warnung: mysqli_connect (): (HY000/1045): Zugriff für Benutzer 'Benutzername' @ 'localhost' verweigert (mit Kennwort: YES)

Warnung: mysqli_connect (): (HY000/1045): Zugriff für Benutzer 'Benutzername' @ 'localhost' (mit Kennwort: YES) in C:\Users\xampp\htdocs\PHP_Login_Script\config.php in Zeile 6 abgelehnt

Warnung: mysqli_real_escape_string () erwartet, dass Parameter 1 mysqli ist, boolean in C:\Users\xampp\htdocs\PHP_Login_Script\login.php in Zeile 10

Warnung: mysqli_real_escape_string () erwartet, dass Parameter 1 mysqli ist, boolean in C:\Users\xampp\htdocs\PHP_Login_Script\login.php in Zeile 11

Warnung: mysqli_query () erwartet, dass Parameter 1 mysqli ist, boolean in C:\Users\xampp\htdocs\PHP_Login_Script\login.php in Zeile 15

Warnung: mysqli_fetch_array () erwartet, dass Parameter 1 mysqli_result ist, wobei null in C:\Users\xampp\htdocs\PHP_Login_Script\login.php in Zeile 16 angegeben ist

Warnung: mysqli_num_rows () erwartet, dass Parameter 1 mysqli_result ist, wobei null in C:\Users\xampp\htdocs\PHP_Login_Script\login.php in Zeile 19 angegeben wird

Ich bekomme diesen Fehler oben auf localhost, auch wenn meine Konfigurationsdatei so ist: 

<?php

    define("DB_Host", "localhost");
    define("DB_USER", "root");
    define("DB_PASSWORD", "");
    define("DB_DATABASE", "databasename");

    $db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

?>

Früher hat das funktioniert, jetzt aber nicht mehr. Gibt es ein Problem mit diesem Code oder funktioniert es jetzt nicht? This ist das Tutorial, an dem ich gerade arbeite.

25
user2805663

Diese Kombination aus Benutzername, Host und Kennwort darf keine Verbindung zum Server herstellen. Stellen Sie sicher, dass die Berechtigungstabellen auf dem Server (ggf. Erneutes Laden von Berechtigungen) vorhanden sind und dass Sie eine Verbindung zum richtigen Server herstellen.

Wenn Sie Wamp-Update ausführen 

define("DB_Host", "localhost");

An die IP-Adresse Ihres Computers (meine ist 192.168.0.25);

define("DB_Host", "192.168.0.25");

Sie können es im Fenster finden, indem Sie ipconfig in Ihre Konsole oder ifconfig unter mac/linux eingeben

12
hooligan

mysqli_connect (DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE); 

verwenden Sie DB_Host anstelle von DB_SERVER 

7
moez

Sehen Sie sich Ihren Code an Sie haben DB_Host definiert und DB_SERVER abgefragt. DB_USER und DB_USERNAME Verwenden Sie diesen Code

define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");

$connect = mysqli_connect(DB_SERVER , DB_USER, DB_PASSWORD, DB_DATABASE);
6
hemanth kumar

Stellen Sie sicher, dass Ihr Kennwort keine Sonderzeichen enthält, und behalten Sie ein einfaches Kennwort (z. B. 12345). Das ist das Merkwürdigste, was ich je gesehen habe. Ich habe ungefähr 2 Stunden gebraucht, um das herauszufinden.

Hinweis: 12345 ist Ihr normales Passwort

GRANT ALL PRIVILEGES ON dbname.* TO 'yourusername'@'%' IDENTIFIED BY '12345';
5
Sathya

sie definieren als DB_USER, verwenden aber als DB_USERNAME. Auch php sagt, dass Benutzername @ localhost nicht erreichbar ist. Nicht root @ localhost. 

Ändern Sie Ihren Definitions- oder Verbindungsparameter.

3

Das gleiche Problem hatte ich mit XAMPP 7 und opencart Arabic 3. Zu tun. Ersetzen von localhost durch den tatsächlichen Rechnernamen löscht das Problem.

1
Ahmed Bahtity

Dies ist dein Code:

<?php

    define("DB_Host", "localhost");
    define("DB_USER", "root");
    define("DB_PASSWORD", "");
    define("DB_DATABASE", "databasename");

    $db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

?>

Der einzige Fehler, der diese Nachricht verursacht, ist folgender:

  1. sie definieren einen DB_USER, rufen aber danach als DB_USERNAME an.

Bitte seien Sie beim nächsten Mal vorsichtiger.

Es ist besser für einen Einsteiger-Programmierer, der mit der Codierung in PHP beginnen möchte, um das nicht zu nutzen, was er oder sie nicht gut kennt. 

NUR als Rat, versuchen Sie bitte, (zum ersten Mal) allgemeineren Code zu verwenden.

beispiel: Verwenden Sie nicht die Anweisung define(). Versuchen Sie, die Variablendeklaration als $db_user = 'root'; zu verwenden.

Hab eine schöne Erfahrung :)

In meinem Fall war das Problem:

define ('DB_PASSWORD', "MyPassw0rd!'");

(die ungerade Single 'vor dem Double ")

0
Andrews32

Das gleiche Problem trat bei mir mit AWS RDS MySQL auf. Gerade jetzt beantwortete ähnliche Frage hier. Sah verschiedene Quellen aus, aber ab diesem Thread fehlte fast alles an Antwort. Obwohl dieser Thread mir geholfen hat, sollte Tweak im Hinterkopf behalten, Hostnamen auf dem Server zu aktualisieren. Greifen Sie auf Ihre SSH zu und folgen Sie den Schritten:

cd /etc/
Sudo nano hosts

Jetzt fügen Sie hier Ihre Hostnamen an: Zum Beispiel:

127.0.0.1 localhost
127.0.0.1 subdomain.domain.com [if cname redirected to endpoints]
127.0.0.1 xxxxxxxx.xxxx.xxxxx.rds.amazonaws.com [Endpoints]

und jetzt config/database.php wie folgt konfigurieren:

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn'   => '',
    'hostname' => '35.150.12.345',
    'username' => 'user-name-here',
    'password' => 'password-here',
    'database' => 'database-name-here',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

dabei ist 35.150.12.345 Ihre IPv4 Public IP, die sich unter ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public IP ('35 .150.12.345 ') befindet.

Hinweis: Bitte beachten Sie, dass nur IPV4 mit der Option 'Hostname' funktioniert. Hostname, Cname, Domänen geben Datenbankverbindungsfehler aus.

0
Asharam Seervi

Beim Versuch, eine Verbindung mit einem anderen Benutzer als root herzustellen, hatte ich den Fehler, der den Zugriff einschränken sollte.

In mysql habe ich den Benutzer MofX mit Host % eingerichtet und es wurde keine Verbindung hergestellt.

Wenn ich den Host des Benutzers in 127.0.0.1 geändert habe, wie in 'MofX'@'127.0.0.1', hat es funktioniert.

0
ourmandave

Die Frage wurde bereits oben beantwortet. Nur, damit Sie sich bei einer Verbindung mit allen vier Saiten gleichzeitig wohl fühlen

<?php
  define("DB_Host", "localhost");
  define("DB_USER", "root");
  define("DB_PASSWORD", "");
  define("DB_DATABASE", "databasename");

  $db = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
  // you could test connection eventually using a if and else conditional statement, 
  // feel free to take out the code below once you see Connected!
  if ($db) {
    echo "Connected!";
  } else {
    echo "Connection Failed";
  }
?>
0
Precious Tom

Es gibt einen Tippfehler in defi- nierten Argumenten. Ändern Sie DB_Host in DB_SERVER und DB_USER in DB_USERNAME:

<?php

    define("DB_SERVER", "localhost");
    define("DB_USERNAME", "root");
    define("DB_PASSWORD", "");
    define("DB_DATABASE", "databasename");
    $db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

?>
0
Sajan

Ich habe hier ein paar Dinge behoben, der hier definierte "DB_Host" sollte dort unten auch DB_Host sein, und der "DB_USER" heißt dort unten auch "DB_USER". Überprüfen Sie den Code immer auf Gleichheit.

<?php
    define("DB_Host", "localhost");
    define("DB_USER", "root");
    define("DB_PASSWORD", "");
    define("DB_DATABASE", "");

    $db = mysqli_connect(DB_Host, DB_USER, DB_PASSWORD, DB_DATABASE);
?>
0
Morris