Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PHP(узнать названия таблиц) и PostgreSQL / 13 сообщений из 13, страница 1 из 1
05.06.2005, 00:11
    #33101275
gigius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
Как средствами PHP узнать названия таблиц
которые входят в базу данных работающую под управлением PostgreSQL.

Этот вопрос возник из следующей проблемы:
Я разбираю код написанный на PHP другим человеком,
мне не понятна одна строка:
1. $conn = pg_Connect("","","",$dbname);
2. $news = pg_Exec($conn, "select * from $prefix"._news." order by id desc limit 1");

В первой строке все понятно. Переменные $dbname, $prefix обьявлены выше в тексте скрипта.
Во второй же строке мне не понятно слово _news. Это что, какая то переменная обьявленная
где то в PostgreSQL?
Или это название таблицы? Но если это название таблицы то почему я не могу, создав таблицу _newsreview точно так
же к ней обращаться? Сервер мне выдает ошибку - Warning: pg_exec(): Query failed: ERROR: Relation 'имя БД_newsreview' does

not exist

Буду всем очень признателен за ответы на мои вопросы.
...
Рейтинг: 0 / 0
05.06.2005, 01:00
    #33101286
vfabr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
_news это что-то из вопросов про PHP а не про PG ...

приведи кусок скрипта побольше и сделай
echo _news;
после строки 2. и напиши что получится
...
Рейтинг: 0 / 0
05.06.2005, 01:15
    #33101288
vfabr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
Код: plaintext
"select * from $prefix"._news." order by id desc limit 1"
упростим и посмотрим как предыдущую строку должен (по моему мнению обработать интерпритарор РНР)
Код: plaintext
"string $var"._news." string"

те
" - (2-ая кавычка)
string - строка
$var - интерпретировать переменную $var
" - (2-ая кавычка)
. - конкатенация
_news - ХЗ что
. - конкатенация
string - строка
" - (2-ая кавычка)

вот почему мне кажеться что это проблема постгре не касается ;-)

если разберетесь тогда про таблицы и про все остальное (что касается PG) можно ссылку дать на документацию :-)
...
Рейтинг: 0 / 0
05.06.2005, 07:45
    #33101338
Vlado
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
gigius...
Или это название таблицы? Но если это название таблицы то почему я не могу, создав таблицу _newsreview точно так
же к ней обращаться? Сервер мне выдает ошибку - Warning: pg_exec(): Query failed: ERROR: Relation 'имя БД_newsreview' does

not exist

Буду всем очень признателен за ответы на мои вопросы.Сдается мне, все-таки название таблицы (ну или вьюхи).
А судя по сообщению сервера, обращаешься ты к своей созданной таблице не точно так же - точку пропустил по сравнению с оригиналом.
...
Рейтинг: 0 / 0
05.06.2005, 12:39
    #33101400
gigius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
Спасибо всем! Я наконец-то разобрался, просто написал вместо :
Код: plaintext
1.
$news = pg_Exec($conn, "select * from $prefix"._news." order by id desc limit 1");
           вот это---> $news = pg_Exec($conn, "select * from _nesreview order by id desc limit 1");
И все-таки, как же узнать из каких таблиц состоит БД работающая под управлением PostgreSQL средст
вами PHP :)
...
Рейтинг: 0 / 0
05.06.2005, 13:07
    #33101408
Drew0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
никак
...
Рейтинг: 0 / 0
05.06.2005, 13:30
    #33101423
vfabr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
вот зачем писать что никак если это неправильно?

пхп имеет возможность посылать запросы серверу и их получать следовательно надо послать запрос который вернет данные которые тебе нужны.

читать ман про системные таблицы и вьюхи в постгре (это 8) а в 7 я думаю есть тоже нечто похожее ;-)) так что

postgresql.org/docs
и книжка неплохая онлайновая есть http://www.commandprompt.com/ppbook/

и не стонать что незнаешь англиский (со словарем можно посидеть в жизни прогодится)
...
Рейтинг: 0 / 0
05.06.2005, 15:13
    #33101483
Vlado
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
vfabrвот зачем писать что никак если это неправильно?

пхп имеет возможность посылать запросы серверу и их получать следовательно надо послать запрос который вернет данные которые тебе нужны.

читать ман про системные таблицы и вьюхи в постгре (это 8) а в 7 я думаю есть тоже нечто похожее ;-)) так что

postgresql.org/docs
и книжка неплохая онлайновая есть http://www.commandprompt.com/ppbook/

и не стонать что незнаешь англиский (со словарем можно посидеть в жизни прогодится)Все точно, добавить нечего.

2gigius
Только в качестве оффтопика вопрос автору топика:
зачем узнавать имена таблиц именно_средствами_php,
когда есть средства поудобнее?
На ум приходит только написание суперпроги типа pgAdmin для работы
с любой базой данных.
Tак уже написаны, причем на php :)
...
Рейтинг: 0 / 0
05.06.2005, 17:51
    #33101552
cyberdreamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
gigius
И все-таки, как же узнать из каких таблиц состоит БД работающая под управлением PostgreSQL средст
вами PHP :)

Запросом типа:
select datname from pg_database;
...
Рейтинг: 0 / 0
05.06.2005, 18:05
    #33101560
cyberdreamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
Сорри - ошибся - в предыдущем посте запросом получается список баз...

А вот что пришло в голову насчет из каких таблиц состоит база:

select tablename from pg_tables where tablename NOT LIKE 'pg_%';
...
Рейтинг: 0 / 0
06.06.2005, 22:28
    #33103628
gigius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
ВСЕМ БОЛЬШОЕ СПАСИБО ЗА ДЕЛЬНЫЕ СОВЕТЫ !!!
...
Рейтинг: 0 / 0
06.06.2005, 22:46
    #33103648
gigius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
....вот только на запрос:
Код: plaintext
$query = pg_exec($conn, "select tablename from pg_tables where tablename NOT LIKE 'pg_%'");
сервер выдает:
Код: plaintext
Resource id # 4 
Буду муштровать документацию. Благо ссылка уже есть.
.....а на PHP я это делаю ради спортивного интереса :) (к вопросу от Vlado)
...
Рейтинг: 0 / 0
07.06.2005, 11:11
    #33104221
Vlado
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP(узнать названия таблиц) и PostgreSQL
gigius....
а на PHP я это делаю ради спортивного интереса :) (к вопросу от Vlado)ОК
Ответ принят :)

PS
Совсем задолбали необходимости, света белого не видишь, звереешь постепенно...
Мабуть, надо иногда забивать.
И чего-нибудь ради спортивного интереса :)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PHP(узнать названия таблиц) и PostgreSQL / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]