creamycewie
Goto Top

PHP Verbindung über MySQLI kann nicht hergestellt werden

Hallo,


ich habe folgendes Problem:

Ich habe mittels PHPMyAdmin einen MySQL-User angelegt. Bei der Anlage habe ich den Punkt "Erstelle eine DB gleichen Namens und gewähre alle Rechte" aktiviert.
Der SQL-Befehl dazu sieht so aus:
CREATE USER 'bssdb'@'%' IDENTIFIED VIA mysql_native_password USING '***';GRANT USAGE ON *.* TO 'bssdb'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `bssdb`;GRANT ALL PRIVILEGES ON `bssdb`.* TO 'bssdb'@'%';  

Wenn ich nun mittels PHP/MySQLI darauf zugreifen will erhalte ich jedoch immer folgenden Fehler:
Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'bssdb'@'localhost' (using password: YES) in C:\xampp\htdocs\bin\db\dbconnect.php on line 2  
Verbindung fehlgeschlagen: Access denied for user 'bssdb'@'localhost' (using password: YES)  

Der PHP-Code sieht folgend aus:
<?php
$mysqli = new mysqli("localhost", "bssdb", "meinPW", "bssdb");  
if ($mysqli->connect_errno) {
    die("Verbindung fehlgeschlagen: " . $mysqli->connect_error);  
}
?>

wo bin ich hier daneben?

Lieben Dank!

Content-Key: 380714

Url: https://administrator.de/contentid/380714

Printed on: April 23, 2024 at 07:04 o'clock

Member: kaiand1
kaiand1 Jul 19, 2018 at 06:54:24 (UTC)
Goto Top
Hi
Also wenn der User mit PWD Richtig ist und die Daten auch in der SQL Vorhanden sind hast du wohl Vergessen die Benutzerliste neu zu Laden.
mysql> flush privileges;
Lädt die Zugriffsrechte neu und der Zugriff sollte dann Möglich sein.
Member: CreamyCewie
CreamyCewie Jul 19, 2018 at 07:11:13 (UTC)
Goto Top
Hab ich gemacht, noch immer kein Zugriff möglich.
Passwort und user stimmen
Member: MrCount
Solution MrCount Jul 19, 2018 at 07:29:57 (UTC)
Goto Top
Servus,

leg den gleichen User mal für LOCALHOST an... anstatt "%"
Mitglied: 129580
129580 Jul 19, 2018 updated at 07:35:29 (UTC)
Goto Top
Guten Morgen,

hast du auch mal versucht dich mit den Benutzer direkt an der Datenbank anzumelden z.B. mit dem CLI Tool, Workbench, phpmyadmin eth.?
Verwendest du Sonderzeichen in deinem Passwort?

Viele Grüße,
Exception
Member: MrCount
MrCount Jul 19, 2018 updated at 09:16:53 (UTC)
Goto Top
Die Verbindung zu localhost umgeht TCP mit einer UNIX-Socket-Datei und entspricht daher keiner TCP-Adresse (%)

On Unix, MySQL programs treat the host name localhost specially, in a way that is likely different from what you expect compared to other network-based programs. For connections to localhost, MySQL programs attempt to connect to the local server by using a Unix socket file. This occurs even if a --port or -P option is given to specify a port number. To ensure that the client makes a TCP/IP connection to the local server, use --host or -h to specify a host name value of 127.0.0.1, or the IP address or name of the local server. You can also specify the connection protocol explicitly, even for localhost, by using the --protocol=TCP option. For example:
shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

Quelle: https://dev.mysql.com/doc/refman/5.7/en/connecting.html
Member: CreamyCewie
CreamyCewie Jul 31, 2018 at 08:15:45 (UTC)
Goto Top
Hallo,

mit Localhost hat es nun funktioniert, danke!