Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 16.10.2018
Сообщений: 50

Странное поведение 2 эквивалентных участков кода при доступе в таблице Firebird из PHP

05.04.2025, 11:22. Показов 1254. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добра!
Столкнулся с непоняткой при чтении данных из таблицы. При условии, что любой select обязательно возвращает хотя бы одну строку, эти 2 цикла должны давать одинаковый результат, но:
PHP
1
2
3
4
5
6
7
8
9
10
  // этот код не работает. 
  // показан фрагмент внутренностей внешнего цикла по $i, к котором получаем данные из подчинённой таблицы
  $some_query = 'select some_fields from some_view where key_field=' . $i . ' order by <some_fields>';
  $qds = ibase_query($some_query, $db) or die(ibase_errmsg());  
  while ($row = ibase_fetch_row($qds));
  {
    $row_list[$i][] = $row; // тут i - переменная внешнего цикла
    $somecounter++;
  }
  ibase_free_result($qds);
а это - работает:
PHP
1
2
3
4
5
6
7
8
9
10
11
  // этот код - работает, хотя он немного "кривой"
  $some_query = 'select some_fields from some_view where key_field=' . $i . ' order by <some_fields>';
  $qds = ibase_query($some_query, $db) or die(ibase_errmsg());  
  $row = ibase_fetch_row($qds);
  do
  {
    $row_list[$i][] = $row; // тут i - переменная внешнего цикла
    $somecounter++;
  }
  while ($row = ibase_fetch_row($qds));
  ibase_free_result($qds);
что не так???
ps: в принципе, 2 вариант кода решает мою текущую задачу, но хотелось бы понимать на будущее...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2025, 11:22
Ответы с готовыми решениями:

Странное поведение регулярки в PHP 5,4,5
Добрый день! Задача получить пути до всех картинок из html кода. написал регулярку ...

PHP+AJAX странное поведение ссылок
На странице есть ссылки &lt;a class=&quot;link&quot; onclick=&quot;document.getElementById('listai').play()&quot;...

Странное поведение simple_html_dom или кривой код
Всем привет. Очень странно ведет себя поиск ссылок при помощи библиотеки simple_html_dom. ...

6
Заблокирован
05.04.2025, 11:52
Цитата Сообщение от TheEd01 Посмотреть сообщение
но хотелось бы понимать на будущее...
Зачем в будущем устаревший метод ibase_query?
(PHP 5, PHP 7 < 7.4.0)
0
2 / 2 / 0
Регистрация: 16.10.2018
Сообщений: 50
05.04.2025, 14:26  [ТС]
Цитата Сообщение от uecdtwvn Посмотреть сообщение
Зачем в будущем устаревший метод ibase_query?
(PHP 5, PHP 7 < 7.4.0)
пока в наличии как раз пхп7.4.

Пишу под него, и по необходимости не имея обширного опыта в этой области. И, имхо, это не меняет сути - устаревшая функция или нет - два разных цикла (которые должны выполнять одно и то же) в php работают по разному...
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
05.04.2025, 19:17
Суть в работе while и do while

PHP
1
2
3
4
do{
    echo 'Выполнено';
}
while(false);
PHP
1
2
3
while(false){
    echo 'Выполнено';
}
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
05.04.2025, 23:22
Цитата Сообщение от TheEd01 Посмотреть сообщение
PHP
1
2
3
4
5
  while ($row = ibase_fetch_row($qds));
  {
    $row_list[$i][] = $row; // тут i - переменная внешнего цикла
    $somecounter++;
  }
точка с запятой лишняя.. у вас должна была выскочить ошибка.

PHP
1
2
3
4
while ($row = ibase_fetch_row($qds)) {
      $row_list[$i][] = $row; // тут i - переменная внешнего цикла
      $somecounter++;
}
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
09.04.2025, 09:10
Цитата Сообщение от sad67man Посмотреть сообщение
у вас должна была выскочить ошибка.
Не должна, синтаксически все валидно, while может не имет тела, а в коде может ни с того ни с сего фигурные скобки быть
PHP
1
2
3
4
5
6
7
8
<?php
 
while (false);
 
echo 1;
{
    echo 23;
}
OUT:
123
1
Заблокирован
09.04.2025, 09:16
Цитата Сообщение от crautcher Посмотреть сообщение
Не должна, синтаксически все валидно
Ошибки не будет, но будет предупреждение если редактор нормальный.
Миниатюры
Странное поведение 2 эквивалентных участков кода при доступе в таблице Firebird из PHP  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2025, 09:16
Помогаю со студенческими работами здесь

Странная кодировка, ну ооочень странная
Всем доброго времени суток! Помогите пожалуйста решить проблему! Вот исходный код проекта:...

Странное поведение
привет всем. Пишу тут одну работку вот код добавления нового товара. Я использую поле Акция, если...

Странное поведение Smarty
Добрый день, господа. Прошу помощи: уже третий день бьюсь, ничего не могу сделать. Попросили меня...

Странное поведение сайта с мобильных устройств (редирект)
Здравствуйте , наш сайт mkm.com.ua открывается в браузерах нормально . И две недели назад...

Странное поведение с нулем
Здравствуйте! В адресной строке передаю параметр номера строки и забираю его с помощью метода GET....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru