Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak połączyć się z bazą danych, która zawiera w nazwie średniki przez PDO
Forum PHP.pl > Forum > Przedszkole
mad/
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?
230005
Jaki błąd zwraca, nikt tu nie jest jasnowidzem / po co po t są dwa slashe?
jmail
a nie prościej zmienić nazwę bazy i wywalić z niej średnik?
phpion
Cytat(jmail @ 7.10.2009, 22:53:51 ) *
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
jmail
jasne.

robiłem backup odtwarzałem jako nowa nazwa po czym wywalałem starą bazę tongue.gif
230005
Cytat
a nie prościej zmienić nazwę bazy i wywalić z niej średnik?


Że niby ten średnik na końcu to część nazwy? biggrin.gif Nigdy bym nie pomyślał, że ktoś tak może nazwać bazę biggrin.gif
mad/
Cytat(230005 @ 7.10.2009, 21:47:58 ) *
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\'

Cytat(230005 @ 7.10.2009, 22:29:56 ) *
Że niby ten średnik na końcu to część nazwy? biggrin.gif Nigdy bym nie pomyślał, że ktoś tak może nazwać bazę biggrin.gif

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....?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.