powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php) php+firebird, соединение с бд
25 сообщений из 52, страница 1 из 3
(php) php+firebird, соединение с бд
    #38428790
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Не получается соединиться с базой данных фаерберда.

Постоянно вываливается ошибка нет соединения с бд:
Warning: ibase_connect(): in D:\XAMPP\htdocs\FB\fb.php on line 5
failed to connect -902

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    <?PHP
    $host="localhost:D:\rent2.fdb";
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password)
         or die("failed to connect ". ibase_errcode());
    $stmt="SELECT NUMBERID FROM CUSTOMERS";
    $result= ibase_query($dbh, $stmt);
       
        if ($result==0)
           echo("<B>Error!</B>");
    ?>



При этом с помощью isql утилиты фаерберда или IBexpert прекрасно соединяется с бд

с пхп буквально пару вечеров. с mysql бд получается легко соединиться(скорее из-за того что XAMPP), а вот с фаербирдом такая засада.

также пытался соединиться с другим компьютером
$host="gkhsrv:C:\Data\Rent\rent2.fdb";

результат тот же!
Статью по ibase_connect просматривал, замечания про gds32(или что-то похожее) тоже выполнил(на локальном компьютере) не помогло.

Подскажите, что я не правильно делаю?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428880
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Tue, 15 Oct 2013 21:50:01 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> or die("failed to connect ". ibase_errcode());

Попробовать ibase_errmsg() для вывода более содержательного текста?..

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428929
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Warning: ibase_connect(): in D:\XAMPP\htdocs\bal-vod\handler.php on line 5
failed to connect I/O error for file "D: ent2.fdb" Error while trying to open file Синтаксическая ошибка в имени файла, имени папки или метке тома.

Теперь вот такое. мм. как он из

Код: php
1.
$host="localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb";



делает d:\ent2.fdb

я честно слабо представляю.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428939
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сам php файл:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 <?PHP
$host="localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb";
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$stmt="SELECT NUMBERID FROM CUSTOMERS";
$result= ibase_query($dbh, $stmt);      
if ($result==0)
echo("<B>Error!</B>");
?>



сама бд находится:
на локальном компьютере: D:\XAMPP\htdocs\bal-vod\rent.fdb
на сервере на работе: gkhsrv:C:\Rent\Data\rent2.fdb
компьютер рабочий: D:\rent2.fdb

(я пытаюсь подключиться к тому что под рукой, т.к. если получится к одной потом вопросов меньше будет.)

для просмотра результатов выполнения кода использую xampp с одним апачем.
строки в пхп.ини ibase и firebird раскомменчены.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428957
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Wed, 16 Oct 2013 00:59:15 +0400, raziel.kdm <nospam@sql.ru>; wrote:

Требуется прочитать про разницу в строках '' и ""...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434034
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о! Исправил. Всё получилось. По крайней мере коннект.
теперь надо сравнить то, что ввел пользователь с тем, что есть в бд.
Получится ли вот так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 <?PHP
$host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = " . $_GET["nid"];
$result= ibase_query($dbh, $sel1);
if ($result==0)
	{
        echo("Error!");
	{
else ($result==1)
	{
	// выбираем ID,LODGINSID из бд который находится в одной строке с тем, что ввел пользователь.
	$sel2="SELECT ID,LODGINSID FROM CUSTOMER WHERE NUMBERID = '$sel1'";
	}
?> 



И тут у меня возник вопрос.
Я выбираю из бд два значения. ID и LODGINSID. как мне их разделить? потому что мне надо в два разных места залезть и по ID я найду одну информацию, а по LODGINSID другую.

Или если я буду делать так:
Код: php
1.
$sel2="SELECT ID,LODGINSID FROM CUSTOMER WHERE NUMBERID = '$sel1'"; 


но ссылаться на $sel2 с чем он будет сравнивать. я же два столбика выбрал.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434042
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не нашел как редактировать сообщения.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 <?PHP
    $host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
    $sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
    $result = ibase_query($dbh, $sel1);
    if ($result==0)
	{
        echo("Error!");
	}
	else
	{
	echo("working");
	}
?> 



Просто выдает working. НО! я точно знаю что ввел неправильный nid(т.е. тот которого нет в бд)
Подскажите что я неправильно делаю?
Напомню. Нужно сравнить то, что ввел пользователь с тем что есть в бд(столбик numberid). и если он вводит что-то не то отправить его куда подальше.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434043
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sat, 19 Oct 2013 19:11:53 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> $result= ibase query($dbh, $sel1);
> if ($result==0)
> else ($result==1)

Что это за эротические фант=
азии???

Почитай д=
оку
всё-таки для начала...

-- =

Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434066
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это я поправил. За ссылку спасибо. т.е. она мне выдает что результат есть(true), но он пустой(вернее я то знаю, что он пустой)?

хорошо. т.е. мне надо сравнивать result identifier c тем, что ввел пользователь?

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 <?PHP
    $host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
    $sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
    $result = ibase_query($dbh, $sel1);
	$row1 = ibase_fetch_row ($result);
	print_r ($row1);
?>



С помощью такого на экран выводится numberid = 2(если nid = 2) если он есть и пустота если совпадений не найдено.

т.е. теперь в $row1 находится numberid. верно?

такой вопрос. а как мне проверить есть ли совпадение или нет?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434069
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sat, 19 Oct 2013 20:08:04 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm

Используй что-то вроде:
Код: php
1.
2.
3.
4.
5.
6.
  while ($row categories = ibase fetch object($sth categorie=
s))
   {
     if ($row categories->ID CATEGORY == $cct) $pagetitle .= " :: =
".mb strtolower($row categories->CATEGORY NAME);
   }



-- =

Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434075
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm , блин... Как-то странно строки режет, зараза nntp... :\

Код: php
1.
2.
3.
4.
  while ($row_categories = ibase_fetch_object($sth_categories)) 
  {
    if ($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);
  }
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434123
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zirra, а можно узнать что это такое?

Как это должно работать в плане(на всякий случай чтобы вы поняли чего я хочу достичь в итоге):
пользователь вводит свой id на странице. дальше я ищу такой же в таблице customer.

Дальше мне надо будет пользователю либо выдавать ошибку(если запрос выдал пустоту) либо выдавать ему информацию( там ещё один запрос с поиском его адреса и прочей информации).

Так вот вопрос. как мне определить что выдал запрос(пустоту или какой-то результат, ведь пустота это тоже результат и возвращает 1)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434133
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm , чего узнавать-то???

Код: php
1.
2.
3.
4.
5.
6.
  while ($row_categories = ibase_fetch_object($sth_categories)) 
// пока фетчится объект из датасета, полученного от запроса, выполняем
  {
    if ($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);
// $датасет->ИМЯ_ПОЛЯ
  }


Почитай наконец-то внимательно документацию !.. :(
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434225
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я в принципе понял как эта штука работает.

т.е. она будет перебирать варианты(когда мы обращаемся) пока не будет пустоты и если выйдет пустота при обращении к ней, то она выдаст 0 и можно будет по этому определить совпало ли то, что ввёл пользователь с тем что есть в нашей выборке?

Если смысл мне понятен, то синтаксис нет. Подскажите по синтексу. в приведенной ссылке таких примеров нет.

($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);

в частности эта строка, откуда берется id_category и прочие.
( с sql практически не знаком)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434230
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sat, 19 Oct 2013 23:15:09 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> Если смысл мне понятен, то синтаксис нет. Подскажите по синтексу. в приведенной
> ссылке таких примеров нет.
> ($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);
> в частности эта строка, откуда берется id_category и прочие.
> ( с sql практически не знаком)

ID_CATEGORY, CATEGORY_NAME - имена полей в датасете, возвращаемом по запросу...
У тебя, соответственно, что-то типа $row1->NUMBERID...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434433
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zirra,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?PHP
    $host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
    $sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
    $result = ibase_query($dbh, $sel1);
	while ($row1 = ibase_fetch_object($result)) 
  {
    if ($row1->NUMBERID == $cct) $pagetitle .= " :: ".mb_strtolower($row1->NUMBERID);
  }
?>



Выдает ошибку на $cct. неопределенная переменная. Может там $result должен быть?

Правда с резалтом там просто белый экран(пустота. т.е. скрипт как бы выполняется(скорее неправильно))

условие там я так понял если row1 равно numberid ==cct(что это?) , то $pagetitle .= " :: ".mb_strtolower($row1->NUMBERID); (это то же не ясно

т.е. мне ещё надо дописать else row1 = пустота, то выдача еррору пользователю?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434691
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sun, 20 Oct 2013 13:32:04 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm

Читай наконец документацию!!!
...
Я тебе привёл ПРИМЕР, из СВОЕГО кода, а ты его к себе фигачишь, не думая!!!

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434909
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
while ($row1 = ibase_fetch_object($result)) 
  {
	if ($row1->NUMBERID)
	{
	echo "working";
	}
	else
	{
	echo "shit";
	}
}



Что-то типа такого?
Если я всё правильно понял, то когда ров1=намберид он мне скажет воркинг, в остальных случаях shit! но когда ров1 пуст, то он выдает пустоту. т.е. я ошибаюсь в своих предположениях?

P.S. спасибо за подсказки.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434950
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Mon, 21 Oct 2013 01:14:17 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> while ($row1 = ibase_fetch_object($result))
> Что-то типа такого?
> Если я всё правильно понял, то когда ров1=намберид он мне скажет воркинг, в
> остальных случаях shit! но когда ров1 пуст, то он выдает пустоту. т.е. я
> ошибаюсь в своих предположениях?

Не выдаст, а сразу уйдёт из цикла while, т.к. никакого обжекта оно не отфетчит...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436601
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже ваш пример для меня пока сложен.

Взял пример из вики учебника с авторизацией. там есть проверка того, что ввел пользователь с тем что в бд.
т.е. похоже на то что я хочу получить!

http://ru.wikibooks.org/wiki/PHP#While

код написанный на основании учебника:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<?PHP
$host="localhost:D:\rent2.fdb";
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password)
     or die("failed to connect ". ibase_errcode());
$stmt="SELECT NUMBERID FROM CUSTOMERS";
$result= ibase_query($dbh, $stmt);
   
while($row1 = mysql_fetch_assoc($result)){  //Получение данных о пользователе
 
        $table['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
}
 
//Проверка
 
if ($_GET['nid'] == $table['NUMBERID']){ //проверка на совпадение
 
                //id true
                // tut poka pusto
 
        }else{  
                //id false
                // tut poka pusto
 
        }

?>



Подскажите пожалуйста. в примере используется md5 шифрование логина\пароля. Важно ли оно для реализации?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436770
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

MD5 не важно. Ты же что-то числовое проверяешь? И как к тебе MYSQL попал расскажи.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436890
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример из вики учебника. забыл поменять =)
да. сравниваются числа.
т.е. md5 нужен если сравниваются изображения(капча?)? или текст? интересно)

Там есть функция:
Код: php
1.
2.
3.
4.
while($row1 = ibase_fetch_assoc($result)){  //Получение данных о пользователе
 
        $table['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
}



скажите, что лучше использовать row или assoc? assoc я так понял для множественного выбора? а если я выбираю только один столбик, то row?

т.е. я могу эту функцию использовать для получения информации при множественных выборах?
т.е.

$table['zzz'] = $row1['zzz'];
$table['aaa'] = $row1['aaa'];
$table['fff'] = $row1['fff'];

и потом выводить её на страницу?=)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436903
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

MD5/CRC и прочие хэши - используют для быстрого поиска/сравнения. Например у тебя в БД лежит картинка в blobe и тебе нужно сравнить ее с той, которая на диске. Прикинь что легче - сравнить побайтно файл и блоб или сравнить заранее посчитанный хэш из БД и посчитанный хэш для файла?

По различиям между XXX_fetch_assoc() и XXX_fetch_object() - дело в последующем обращении к возвращаемым данным и внутренней организации хранения результата.

$row=XXX_fetch_assoc();
$fieldvalue=$row['MY_FIELD_VALUE'];

$row=XXX_fetch_object();
$fieldvalue=$row->MY_FIELD_VALUE;

За подробностями - в доку. Благо php.net вполне понятно говорит в том числе и по-русски.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38439351
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 <?PHP
$host='localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb';
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$sel1="SELECT NUMBERID,LODGINGSID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
$result1 = ibase_query($dbh, $sel1);

while($row1 = ibase_fetch_assoc($result1)){  //Получение данных о пользователе
 
	$table1['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
	$table1['LODGINGSID'] = $row1['LODGINGSID'];
}
 
//Проверка
 
if ($_GET['nid'] == $table1['NUMBERID']) // равно ли get_nid = numberid ?
	{ 
		$sel2="SELECT BUILDINGID,NUMBER FROM LODGINGS WHERE ID = '" . $table1["LODGINGSID"] . "'" ; // ищем здание!
		$result2 = ibase_query($dbh, $sel2);
			while($row2 = ibase_fetch_assoc($result2))
			{
			$table2['BUILDINGID'] = $row2['BUILDINGID'];       // здание пользователя
			$table2['NUMBER'] = $row2['NUMBER']; // номер квартиры
			}
		$sel3="SELECT LOCALITYID,STREETID,NUMBER FROM BUILDING WHERE ID = '" . $table2['BUILDINGID'] . "'" ; // Получаем город, улицу, номер здания!
		$result3 = ibase_query($dbh, $sel3);
			while($row3 = ibase_fetch_assoc($result3))
			{
			$table3['LOCALITYID'] = $row3['LOCALITYID']; // город
			$table3['STREETID'] = $row3['STREETID']; // улица
			$table3['NUMBER'] = $row3['NUMBER']; // номер дома
			}
		echo "wow";
	}
	else
	{  
	echo "nope";
	}
?>



Вот пока такое. вроде работает. подскажите можно ли оптимизировать? всё таки куча запросов. если пользователей будет много справиться ли сам компутер=)
У меня в row1[].row2 и т.д. хранятся теперь данные, верно? подскажите как мне их выдать пользователю?
и как мне их выдать правильно? потому что вряд ли кто-то поймет если я ему скажу, что его улица там 50. мне надо прикрутить справочник в котором будет типа: if (streetid=1) {streetid = Герцена} elseif и так для каждой улицы или есть способ попроще? в бд есть! справочник в котором streetid = нормальной улице =)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38439605
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,


1) Я бы все твои select`ы обернул в одну хранимую процедуру. Которая отдавала бы в возвращаемых значениях нужную тебе информацию или -1 (к примеру), если чего-то не нашла.
2) Зачем сохранять данные в промежуточном массиве - это тебе конечно видней, но если нужно вывести только город, улицу и т.п., то не легче ли:
Код: php
1.
2.
3.
4.
5.
   if ($row=ibase_fetch_assocc($sqlresult))  
      {
        // если нам хоть что-то вернули
        print(sprintf("Город: %s Улица: %s Дом: %s",$row['LOCALTYID'],$row['STREETID'],$row['NUMBER']));
      }


3)
Код: php
1.
 While

, который ты распихал везьде можно заменить
Код: php
1.
 if()

(ну это если ты действительно хочешь вывести первое значение, а не последнее) - это я насчет возможных проблем с пользователями с одинаковыми логинами и т.п.
4) Вместо вывода ID улицы (дома, города) - нужно сделать выборку "Названия" из справочника. Т.е. выполнить:
Код: plsql
1.
  $sqltext=sprintf("select NAIMENOVANIE_DOMA from SPAVOCHNIK_DOMOV where ID=%s",$row['NUMBER']);


Если не знаешь, как такое организовать - welcome в соседний форум по Interbase/Firebird.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 1 из 3
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php) php+firebird, соединение с бд
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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