Помощник
|
PHP + сложный запрос в PostgeSQL |
cobra2029
|
Сообщение
#1
|
||
|
|
||
|
|||
cobra2029
|
Сообщение
#2
|
|
собственно вот чего добился
$conn = pg_connect("host=10.1.0.1 dbname=xxx user=postgres") or die("Не соединилось!!!"); if (!$conn) { echo "Произошла ошибка.n"; exit; } // используя файлы //$data1 = file_get_contents('data.txt'); //$data2 = file_get_contents('ip.txt'); //$data3 = file_get_contents('name.txt'); $s = pg_query("SELECT COUNT(*) FROM information_schema.tables"); $i = pg_fetch_array($s); // првоерим что выводится //echo $i[0] . "n"; $x=$i[0]; // првоерим что выводится //echo $x; for ( $z=1; $z<=$x; $z++) { // Экранирование спецсимволов в строке //$escaped1 = pg_escape_string($data1); // $escaped2 = pg_escape_string($data2); //$escaped3 = pg_escape_string($data3); /* Выполнение SQL запроса */ $result1 = pg_query("SELECT "Date" FROM "public"."ObjectLog". $z ."" ORDER BY "Date" DESC LIMIT 1;"); $result2 = pg_query("SELECT * FROM "public"."object_ip" ORDER BY "id" "); $result3 = pg_query("SELECT * FROM information_schema.tables WHERE table_type='BASE TABLE' and table_name='ObjectLog". $z ."'"); // првоерим что выводится //$b = pg_fetch_array($result3); //echo $b[0] . "n"; //echo $b[1] . "n"; //echo $b[2] . "n"; if (!$result1) { echo "Произошла ошибка.n"; exit; } if (!$result2) { echo "Произошла ошибка.n"; exit; } if (!$result3) { echo "Произошла ошибка.n"; exit; } echo " "; echo " n"; echo ""; echo ""; echo ""; echo ""; echo ""; while (($row = pg_fetch_row($result1))&&($pow = pg_fetch_row($result2)) && ($wow = pg_fetch_row($result3)) ){ echo ""; echo ""; echo ""; echo ""; echo ""; } echo " "; echo"Объект"; echo " "; echo"Дата последней записи"; echo" "; echo"IP Адресс"; echo" "; echo"$wow[2]"; echo " "; echo"$row[0]"; echo " "; echo "$pow[1]"; echo" "; } pg_close($conn); ?> теперь вопрос: как исключить из этого запроса $result1 = pg_query("SELECT "Date" FROM "public"."ObjectLog". $z ."" ORDER BY "Date" DESC LIMIT 1;"); объекты которых нет? |
|
|
cobra2029
|
Сообщение
#3
|
|
проблема не решена... ну натолкните на мысль хотя бы в какую сторону копать???
|
|
|
cobra2029
|
Сообщение
#4
|
|
актуально
|
|
|
DioNiR |
16.3.2012, 13:06;
Ответить: DioNiR
Сообщение
#5
|
|
в смысле объекты которых нет?
Прочитал первый пост вроде допер до последнего вопроса. pg_query("SELECT \"Date\" FROM \"public\".\"ObjectLog". $z ."\" ORDER BY \"Date\" DESC LIMIT 1;"); Скрипт вроде как выдаст ошибку если такой таблицы не будет Что мешает этим воспользоваться? |
|
|
cobra2029
|
Сообщение
#6
|
|
DioNiR, собственно если есть ошибка он останавливает работу и пишет об ошибке, не могу пока, что догнать как эту ошибку отловить и только после этого формировать таблицу.
|
|
|
DioNiR |
16.3.2012, 15:02;
Ответить: DioNiR
Сообщение
#7
|
|
а что тут догонять:
if (!$result1) { echo "Произошла ошибка.n"; exit; } Собственно и есть твоя ошибка, и остановка скрипта. Но если написать вот так: if (!$result1) { continue; } То если не будет таблицы, скрипт перейдет к следующему номеру циклу. |
|
|
cobra2029
|
Сообщение
#8
|
|
это замечательно и понятно а как быть с вот такой ошибкой?
"Warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "public.ObjectLog224" does not exist in W:serversystemhtmlindex.php on line 38" как избавиться от вывода её на экран? |
|
|
c0ns0l3 |
5.4.2012, 14:59;
Ответить: c0ns0l3
Сообщение
#9
|
|
display error's?
|
|
|
cobra2029
|
Сообщение
#10
|
|
приведите пример использования.
Заранее спасибо. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Запрос на бесплатные полезности | 7 | Tia2 | 1975 | 23.3.2024, 11:27 автор: Alexand3r |
|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3418 | 19.12.2023, 18:55 автор: CULA |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1243 | 24.11.2023, 14:46 автор: alexey |
|
Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP) | 56 | qpPeW | 44929 | 19.7.2023, 10:03 автор: qpPeW |
|
Есть спецы по php/laravel? | 3 | Mixatraider | 1891 | 26.5.2023, 20:48 автор: Mixatraider |
Текстовая версия | Сейчас: 24.4.2024, 11:09 |