przechowywać wszystkie moje dane logowania do baz danych w plikach poza drzewem publicznego w zmiennych, takich jakpodkreślenia w zmiennej db php powodując problemy
$hostname = '172.0.0.0';
$dbname = 'myname_mydbname';
$username = 'myname_user';
$pw = 'password';
to dość standardowy.
Problem polega na tym, że ten konkretny host, z którym pracuję, wymaga, aby myname_
został dołączony na początku wszystkich baz danych i nazw użytkowników. Kiedy przechowuję te ciągi i przekazuję je do PDO, to porzuca wszystko w nazwie użytkownika po nazwie myname i zrzuca ciąg znaków hasła razem ... Jeśli ustawię nazwę użytkownika i hasło w funkcji jako ciągi zamiast zmiennych, wszystko działa. Jestem na końcu rozumu. Czy ktoś może pomóc? tutaj jest funkcja jak w kodzie.
nie działa:
$this -> DB = new PDO ("mysql:host={$hostname}; dbname={$dbname}", $username, $pw);
prace:
$this -> DB = new PDO ("mysql:host={$hostname};dbname={$dbname}", 'myname_user', 'password');
Mam nadzieję, że ktoś tutaj może mi głupio ... dzięki z góry. -David
błąd może pomóc ...
Nie udało się uzyskać DB Rękojeść: SQLSTATE [28000] [1045] Access denied for user 'MyName' @ 'localhost' (using password: NO)
Wypróbuj 'var_dump ($ username);' tuż przed instrukcją 'new PDO'. – zerkms
to interesujące. Otrzymuję NULL NULL. – david
$ hostname = '172.0.0.0 '; $ dbname = 'myname_mydbname'; $ username = 'myname_user'; $ pw = 'hasło'; – david