Jeśli mam kod PHP,PHP & MySQL Nazwa z podkreślenia
$db_user = "john_doe";
$db_name = "john_doedata";
$conn = new mysqli('example.com', $db_user, 'johndoespassword', $db_name);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
Kiedy próbuję wykonać kwerendę, mam
Connection failed: Access denied for user 'John' @ 'example.com' (używając hasła: NIE)
Problem jest oczywisty. PHP przekazuje tylko część nazwy użytkownika przed podkreśleniem.
Jak mogę to naprawić/obejść?
Nie mam kontroli nad nazwą użytkownika, więc "pobierz nową nazwę użytkownika" nie będzie działać.
Oznacza, że używam złego hasła, ale tak naprawdę to jest nieprawidłowe hasło dla użytkownika john
i jest poprawne hasło dla użytkownika john_doe
.
zrobił podczas próby ucieczki podkreślenia jak Jan \\ _ łania. pamiętam to podkreślenia problemu o starych wersjach MySQL b nie jestem całkowicie pewien rozwiązania. – smozgur
Czy możesz spróbować sprawdzić, czy masz ten sam problem z PDO? Miałem '_' w nazwie użytkownika i było w stanie połączyć się z DB bez żadnego problemu. Najczęściej jednak używam PDO. – Maximus2012
Możesz spróbować użyć pojedynczego cudzysłowu '' 'zamiast tego. Nie jestem pewien, czy to naprawdę coś zmieni, ale to pierwsza rzecz, którą sam wypróbuję. – phaberest