![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 7.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Niestety, nie mogę się połączyć z bazą danych o nazwie 't;' za pomocą PDO, poniższy kod nie działa:
<? $pdo = new PDO('mysql:host=localhost;dbname=t\\;', 'user', 'pass'); ?> Jakie jest poprawne rozwiązanie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jaki błąd zwraca, nikt tu nie jest jasnowidzem / po co po t są dwa slashe?
|
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
a nie prościej zmienić nazwę bazy i wywalić z niej średnik?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
a nie prościej zmienić nazwę bazy i wywalić z niej średnik? A próbowałeś kiedykolwiek zmieniać nazwę bazy w MySQL? http://dev.mysql.com/doc/refman/5.1/en/rename-database.html |
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
jasne.
robiłem backup odtwarzałem jako nowa nazwa po czym wywalałem starą bazę ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat a nie prościej zmienić nazwę bazy i wywalić z niej średnik? Że niby ten średnik na końcu to część nazwy? ![]() ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 7.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jaki błąd zwraca, nikt tu nie jest jasnowidzem / po co po t są dwa slashe? Nie twierdzę nawet, że powyższy kod miałby szansę zadziałać, slashe to tylko próba escapeowania średnika, a dwa dlatego, że pojedynczy slash to escaping znaków specjanych, podwójny to wartość slasha. Co do błędu: bez względu na istnienie jakiejkolwiek bazy lub też nie dostaję błąd nieprawidłowej nazwy, bo dla PDO nazwa bazy to 't\', a średnik to tylko separator. Komunikat błędu (oczywiście wyjatek PDOEexc.): SQLSTATE[42000] [1102] Incorrect database name 't\' Że niby ten średnik na końcu to część nazwy? ![]() ![]() Piszę małą klasę ułatwiającą łączenie się z bazą danych i pobieranie odpowiednich danych na podstawie schematu, i nie chcę, żeby ktoś za pomocą średnika zrobił mi coś w stylu PHP-PDO-Injection, a wywalać średników też nie będę, ponieważ zwyczajnie może kogoś najść ochota na nazwanie tak bazy danych i już. Czy ktoś może zetknął się z tym problemem? Utknąłem właśnie w tym momencie, a muszę połączyć się z bazą danych ze średnikiem w nazwie. PS. Proponuję przeniesienie tematy do działu bardziej odpowiedniego niż przedszkole, skoro nikt nie zna odpowiedzi.... A przecież przedszkole jest takie łatwe, prawda....? Ten post edytował mad/ 8.10.2009, 18:22:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:20 |