powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / php - firebird - Выводятся не все строки в файл
15 сообщений из 15, страница 1 из 1
php - firebird - Выводятся не все строки в файл
    #39292031
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться в чем проблема.
Выгружаю данные из базы данных firebird 2.0 при помощи php кода
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?php
    $link = ibase_connect("C:\itklinika\workdb\med1.gdb", "SYSDBA", "masterkey");
    $res = ibase_query($link, "select * from pacient order by FAM");
	
 while ($row = ibase_fetch_assoc($res))
{
print "$row[ID] $row[FAM] $row[IME] $row[OTCH] $row[TEL_MOB] $row[DATEBORN] $row[GOROD] $row[STREET] $row[DOM] $row[KORP] $row[POL]";
print  "<br/>";
$set=trim("$row[ID];$row[FAM];$row[IME];$row[OTCH];$row[TEL_MOB];$row[DATEBORN];$row[GOROD];$row[STREET];$row[DOM];$row[KORP];$row[POL]");
file_put_contents('c:\export.txt', "$set \n", FILE_APPEND);
}

ibase_free_result($res);
ibase_close();
?>


Проблема в том, что выводятся не все строки. Скриншоты различий прикладываю к посту.
Есть строки в которых кроме id все данные null, есть в которых нет даже null. Но одни из этих строк попадают в файл, а другие нет. Системы не обнаружил.
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292034
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разница в итоге вот такая.
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292067
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey113,

Если сделать экспорт только ID - попадают все?

P.S. За скриншоты - отдельное спасибо, ага...
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292143
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй без order by
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292160
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри за скриншоты. Опубликовал уже деваться некуда. Забыл как на форуме ввкладывать информацию лучше.

id попадают не все а чем они отличаются от тех которые попадают не понятно. Набор данных в паре строк которые я нашел и сравнил идентичен полностью.

Делал и без order by. Тоже самое. Сортировать начал, чтобы найти, что не попадает.
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292173
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey113file_put_contents
Проверять значение, возвращаемое этой функцией пробовал?..

Вообще писать в файл строки по одной, каждый раз его открывая-закрывая, это жесть.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292190
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey113,

Order by тут никаким боком... Так попробуй.

Код: php
1.
2.
3.
4.
5.
6.
$output = fopen('file_for_output.csv', 'w');
$link = ibase_connect("C:\itklinika\workdb\med1.gdb", "SYSDBA", "masterkey");
$res = ibase_query($link, "select * from pacient order by FAM");
while ($row = ibase_fetch_assoc($res)) fputcsv($output, $row);
ibase_free_result($res);
ibase_close();
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292375
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey113,

И перед ibase_close() стоит сделать:

Код: php
1.
2.
 fflush($output);
 fclose($output); 
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292812
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, выгружает, но почемуто 23000 строк вместо примерно 7000.
Не понятно так же почему прежний код не работал как надо.

Буду дальше разбираться
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292924
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovsergey113file_put_contents
Проверять значение, возвращаемое этой функцией пробовал?..

Вообще писать в файл строки по одной, каждый раз его открывая-закрывая, это жесть.

Только, что попробывал проверть значение возращаемоме функцией при помощи такого кода

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?php
    $link = ibase_connect("C:\itklinika\workdb\med1.gdb", "SYSDBA", "masterkey");
    $res = ibase_query($link, "select * from pacient order by FAM");
	
 while ($row = ibase_fetch_assoc($res))
{
print "$row[ID] $row[FAM] $row[IME] $row[OTCH] $row[TEL_MOB] $row[DATEBORN] $row[GOROD] $row[STREET] $row[DOM] $row[KORP] $row[POL]";
$set=trim("$row[ID];$row[FAM];$row[IME];$row[OTCH];$row[TEL_MOB];$row[DATEBORN];$row[GOROD];$row[STREET];$row[DOM];$row[KORP];$row[POL]");
$sss=file_put_contents('c:\export.txt', "$set \n", FILE_APPEND);
if ($sss === false) {
    echo "$row[ID] glyk";
} else {
    echo "Horosh";
}
print  "<br/>";
}
ibase_free_result($res);
ibase_close();
?>


Но возвращает всегда только Истина. Также проверил переменную $set, тоже всегда истина.

Вывожу по строкам так как к тому времени просто не знал как по другому. Я не нашел какого-то нормального учебника по php-firebird в интернет. Что наскреб то и пробовал применить.
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292926
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMastersergey113,

Order by тут никаким боком... Так попробуй.

Код: php
1.
2.
3.
4.
5.
6.
$output = fopen('file_for_output.csv', 'w');
$link = ibase_connect("C:\itklinika\workdb\med1.gdb", "SYSDBA", "masterkey");
$res = ibase_query($link, "select * from pacient order by FAM");
while ($row = ibase_fetch_assoc($res)) fputcsv($output, $row);
ibase_free_result($res);
ibase_close();



Этот код у меня выгружал 23000 строк потому, что как-то неправильно интерпретируются длинные строки в запросе. Бьются на несколько строк.
Сделал запрос на выбор только ID и получил как и в случае своего кода в первом посте меньше строк чем их есть в базе.
А что php-firebird это очень глюкавая вешь? Может зря я обратился к PHP? Emembcadero(delphi) лучшее? Остальное через терни к цели?
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39292932
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения. Нашел ошибку. Когда начинал разбиратьс с вопросом подконнектил фламеробин к одной базе а запросы из php делал к другой более старой. Там записей поменьше вот почему у меня так выходило :)
Извините за каламбур. Надо быть внимательнее конечно...
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39293009
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey113А что php-firebird это очень глюкавая вешь?

глючная конечно, но не до такой степени. Результаты обычно не искажает.

sergey113Может зря я обратился к PHP? Emembcadero(delphi) лучшее?

Почему же зря. Каждому инструменту своё. Если нужен веб интерфейс, то PHP самое то. Если нужен десктоп, то лучше Delphi.

Другое дело, что разработчики PHP и фреймворков на нём кладут прибор на поддержку FB. У них на первом месте MySQL, на втором PG.
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39293136
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey113А что php-firebird это очень глюкавая вешь? Может зря я обратился к PHP?
Emembcadero(delphi) лучшее? Остальное через терни к цели?

Вообще-то для экспорта в CSV есть готовая утилита FBExport...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
php - firebird - Выводятся не все строки в файл
    #39293225
sergey113
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovsergey113А что php-firebird это очень глюкавая вешь? Может зря я обратился к PHP?
Emembcadero(delphi) лучшее? Остальное через терни к цели?

Вообще-то для экспорта в CSV есть готовая утилита FBExport...

Как-то не встретил про нее информацию когда занялся серфингом по этому вопросу. Вот это видео хорошо Вам покажет пример того что такое FBExport :)
YouTube Video
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / php - firebird - Выводятся не все строки в файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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