![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 18.05.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Poniżej przedstawiłem fragment kody, który przy uruchomieniu skryptu ma działać następująco - łącze się z bazą - sprawdzam czy istnieje tablica $table_name ="route" za pomocą if(pg_query("select count(*) from information_schema.tables where table_catalog=$dbname and table_name=$table_name")) jeżeli "nie" to tworzę tabelę jeżeli "tak" to łącz się z bazą Problem polega na tym że gdy w bazie już istnieje tabela (po pierwszym uruchomieniu skryptu) to warunek if(pg_query("select count(*) from information_schema.tables where table_catalog=$dbname and table_name=$table_name")) jest spełniony i powiniem otrzymac informacje że się połączyłem z bazą. Nie otrzymuję tej informacj tylko wykonyje kod z elsa czyli chcę stworzyć nową tabelę która już istnieje.
Proszę o "rzucenie okiem" na kod i podpowiedz co robię żle. Pozd.Alpork. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
masz blad zapytania. wystarczy ze wyswietlisz sobie blad zapytania i sie dowiesz
![]() wszakze nie uzywam postgresa ale nie sądze by pozwalal na to: table_catalog=$dbname and table_name=$table_name czyli na wstawienie tekstow bez zadnych ciapków -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 18.05.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Problem polega na tym że już kombinowałem z ustawiemi ciapków dla zapytania if(pg_query("select count(*) from information_schema.tables where table_catalog=$dbname and table_name=$table_name")) Jak ustawie if(pg_query("select count(*) from information_schema.tables where table_catalog='$dbname' and table_name='$table_name'")) to wtedy warunek jest spełniony za każdym razem nie ważne czy tablica w bazie jest czy jej niema. W logach postgres-a nie ma żadnych błedów związnych z linią. if(pg_query("select count(*) from information_schema.tables where table_catalog=$dbname and table_name=$table_name")) Pozd Alpork. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Jak ustawie if(pg_query("select count(*) from information_schema.tables where table_catalog='$dbname' and table_name='$table_name'")) to wtedy warunek jest spełniony za każdym razem nie ważne czy tablica w bazie jest czy jej niema. hehe, no wlasnie nie. wowczas zapytanie wykona sie poprawnie ale w zaden sposob nie wiesz czy zwrocil jakies rekordy czy nie ![]() zajrzyj do manuala - tam masz to wszystko ladnie opisane ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Nie wiem do końca co właściwie chcesz osiągnąć, ale może rozwiązaniem jest dodanie IF NOT EXISTS do CREATE TABLE? Wykonujesz to zapytanie, a potem puszczasz kod dalej bez żadnych warunków.
PS: pozdrowienia ze Środuli ![]() |
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 18.05.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcę sprawdzić czy tablica istnieje w bazie - jeśli "nie" to ja stworzę i wypełnie danymi - jeżli "tak" będę z niej korzystał. Taki jest cel warunku z "information_schema.tables". Pozd Alpork. PS. Pozdrawiem również kolegę ze Środuli - ![]() Ten post edytował alpork 14.04.2010, 14:24:23 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
To oprócz wykonania zapytania (pg_query) musisz jeszcze jakoś pobrać uzyskany wynik. Jak to zrobić? Masz podane w dokumentacji dla pg_query.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 18.05.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Witam,
DZięki za podpowiedz, rozwiązałem problem. Pozd Alpork. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:02 |