есть код php
Код: Выделить всё
<pre><?php
$link = ibase_connect('localhost:F:\1.FDB', 'SYSDBA', 'masterkey');
$query = "SELECT InitRandom() from qwe";
$res = ibase_query($link, $query);
ibase_free_result($res);
$query = "SELECT GetRandom(100000), qwe.* from qwe ORDER BY 1";
$res = ibase_query($link, $query);
while ($row = ibase_fetch_assoc($res)) print_r($row);
ibase_free_result($res);
ibase_close($link);
?>
вот результат выполнения кода
Код: Выделить всё
Array
(
[GETRANDOM] => 67165
[ID] => 1
[NAME] => Ivan
)
Array
(
[GETRANDOM] => 31869
[ID] => 2
[NAME] => Masha
)
Array
(
[GETRANDOM] => 16179
[ID] => 4
[NAME] => Dasha
)
Array
(
[GETRANDOM] => 37223
[ID] => 5
[NAME] => Ivan'qwe
)
Array
(
[GETRANDOM] => 42567
[ID] => 3
[NAME] => Pasha
)
последовательность одна и таже и всегда начинается заново
хотя через Firebird ISQL Tool
все работает прекрасно
в чем может быть дело?
возможно потому что php каждый раз заново подсоединяется и отсоединяется, но ведь я в начале вызвал InitRandom()
НО самое главное когда Firebird ISQL Tool находится в подключенном состояние вся проблема исчезает и php код начинает выдавать разные последовательности случайных чисел, стоит мне набрать команду EXIT; в Firebird ISQL Tool php код опять забывает о случайных числах и выдает одно и тоже