Warnung: mysqli_connect(): (HY000/1045): Zugriff verweigert für Benutzer ‘username’@’localhost’ (mit Passwort: YES)

Lesezeit: 5 Minuten

Warnung: mysqli_connect(): (HY000/1045): Zugriff verweigert für Benutzer ‘username’@’localhost’ (mit Passwort: YES) in C:\Users\xampp\htdocs\PHP_Login_Script\config.php in Zeile 6

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

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

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

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

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

Ich erhalte diesen Fehler oben auf localhost, auch wenn meine Konfigurationsdatei so aussieht:

<?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, aber jetzt nicht mehr. Gibt es ein Problem mit diesem Code oder funktioniert er jetzt nicht? Dies ist das Tutorial, an dem ich gerade arbeite.

Diese Kombination aus Benutzername, Host und Passwort darf keine Verbindung zum Server herstellen. Überprüfen Sie die Berechtigungstabellen (ggf. erneutes Laden von Erteilungen) auf dem Server und stellen Sie sicher, dass Sie sich mit dem richtigen Server verbinden.

  • Sir, ich benutze nur den lokalen Host und ich habe root als Benutzernamen und ein leeres Passwort. Ich sehe nichts Falsches daran, denn bevor es funktioniert, ist es veraltet? diese Art der Codierung, deshalb funktioniert es nicht? das und root und ein leeres Passwort werden immer akzeptiert

    Benutzer2805663

    7. August 2014 um 4:38 Uhr

  • Ihr Server sagt etwas anderes.

    – Ignacio Vazquez-Abrams

    7. August 2014 um 4:39 Uhr

  • Warten Sie, lassen Sie mich noch einmal überprüfen, wie ich mich mit dem lokalen Host verbinden kann, nur um sicherzugehen, dass ich wieder bei Ihnen bin

    Benutzer2805663

    7. August 2014 um 4:40 Uhr

  • Stellen Sie sicher, dass Ihr Passwort keine Sonderzeichen enthält und behalten Sie einfach ein einfaches Passwort (zB: 12345), es wird funktionieren. Das ist das Seltsamste, was ich je gesehen habe. Ich habe ungefähr 2 Stunden damit verbracht, das herauszufinden.

    – Sathya

    16. Juli 2017 um 10:22 Uhr

  • @Sathya hat Recht. Verwenden Sie nicht die Methode von cpanel zum Generieren eines Passworts – anscheinend funktionieren einige Sonderzeichen nicht. Bei mir hat es gleich 2 Stunden gedauert – dann habe ich den obigen Kommentar gefunden…

    – Chiwda

    2. Februar 2018 um 4:57 Uhr

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 finden es im Fenster, indem Sie ipconfig in Ihrer Konsole oder ifconfig auf Mac/Linux eingeben

  • Bei WAMP muss man auch sicherstellen, dass PHP nur eine Verbindung zu mySQL herstellt. Standardmäßig wird eine Verbindung zu MariaDB hergestellt. Es kann vom WAMP-Taskleistensymbol geändert werden, indem der Standard-SQL-Server in mySQL geändert wird.

    – das ist jaymehta

    17. September 2020 um 4:00 Uhr

  • Musste dies auch auf meinem lokalen Mac in OSX tun. Hat nicht mit localhost funktioniert. Musste stattdessen 127.0.0.1 eingeben.

    – moiamserru

    24. November 2021 um 14:27 Uhr

Stellen Sie sicher, dass Ihr Passwort keine Sonderzeichen enthält und behalten Sie einfach ein einfaches Passwort (zB: 12345), es wird funktionieren. Das ist das Seltsamste, was ich je gesehen habe. Ich habe ungefähr 2 Stunden damit verbracht, das herauszufinden.

Hinweis: Die unten erwähnte 12345 ist Ihr einfaches Passwort

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

  • Obwohl diese Antwort die richtigste ist, verwenden Sie ausdrücklich nicht 12345, da es eines der 10 am häufigsten verwendeten Passwörter der Welt ist, aber halten Sie Ihr Passwort alphanumerisch. Durch das Hinzufügen von nur ein paar zusätzlichen Zeichen kann so etwas wie ‘smJ4bJ39kHab29PpfjKq’ immer noch die gleiche oder bessere Entropie liefern wie diese zufällig generierten cPanel-Passwörter, während Sonderzeichen immer noch ausgeschlossen werden.

    – Nosajimiki

    2. Februar 2018 um 18:06 Uhr

  • Ich weiß nicht, warum das bei einem Server passiert ist, auf dem anderen Server hat ein ähnliches Passwort funktioniert, übrigens guter Fang!! es löste das Problem.

    – Rakibul Haq

    12. September 2018 um 11:42 Uhr


  • Ich kann nicht glauben, dass das funktioniert hat, aber es hat funktioniert und den Wahnsinn beendet, den ich in den letzten 3+ Stunden durchgemacht habe! Alphanumerische Passwörter FTW!!

    – RyJ

    18. März 2021 um 3:07 Uhr

mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);

Verwenden Sie DB_HOST anstelle von DB_SERVER

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);

Warnung mysqli connect HY0001045 Zugriff verweigert fur Benutzer username@localhost mit Passwort
Headerbereitsgesendet

Sie definieren als DB_USER, verwenden aber als DB_USERNAME. Auch PHP sagt, dass username@localhost keinen Zugriff hat. Nicht root@localhost.

Ändern Sie Ihren Define- oder Connect-Parameter.

1646893446 345 Warnung mysqli connect HY0001045 Zugriff verweigert fur Benutzer username@localhost mit Passwort
Morris

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 auch “DB_USER”, überprüfen Sie den Code immer, ob das gleich ist.

<?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);
?>

986610cookie-checkWarnung: mysqli_connect(): (HY000/1045): Zugriff verweigert für Benutzer ‘username’@’localhost’ (mit Passwort: YES)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy