Функции Язык программирования PHP

ifx_getsqlca

(PHP 3>= 3.0.8, PHP 4)

ifx_getsqlca - получает содержимое sqlca.sqlerrd[0..5] после запроса.

Описание

array ifx_getsqlca (int result_id)

result_id это правильный id результата, возвращённый функцией ifx_query() или ifx_prepare().

Возвращает псевдоряд (ассоциативный массив) с sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] после выполнения запроса, ассоциированного с result_id.

Для значений insert, update и delete это набор, возвращённый сервером после выполнения запроса. Это даёт доступ к количеству задействованных рядов и к серийному insert-значению. Для SELECTs - это значения, сохранённые после оператора PREPARE. Это даёт доступ к *estimated/приблизительному* количеству задействованных рядов. Использование этой функции предотвращает перегрузку при выполнении запроса "select dbinfo('sqlca.sqlerrdx')", поскольку запрошенное значение было сохранено ifx-драйвером в подходящий момент.

Пример 1. Запрашивание значений Informix sqlca.sqlerrd[x]
/* принимается, что первый столбец таблицы 'sometable' является serial */ 
$qid = ifx_query("insert into sometable values (0, '2nd column', 'another column') 
", $connid); if (! $qid) { ... ошибка ... } $sqlca = ifx_getsqlca ($qid); $serial_value 
= $sqlca["sqlerrd1"]; echo "The serial value of the inserted row is : " . $serial_value<br>\n";

Назад Оглавление Вперёд
ifx_get_char Вверх ifx_htmltbl_result

Глава 9. Выражения

Если значение первого подвыражения TRUE (не нуль), то вычисляется второе подвыражение, которое становится результатом всего условного выражения. Иначе вычисляется третье выражение, которое и становиться значением.

Следующий пример должен помочь понять pre- и post-increment и выражения:

function double($i) { return $i*2; } $b = $a = 5; /* присвоить значение 5 
переменным $a и $b */ $c = $a++; /* post-increment, присвоить оригинальное значение 
$a (5) переменной $c */ $e = $d = ++$b; /* pre-increment, присвоить увеличенное 
значение $b (6) переменным $d и $e */ /* с этого места $d и $e равны 6 каждая 
*/ $f = double($d++); /* присвоить дважды значение $d до инкремента, 
2*6 = 12, переменной $f */ $g = double(++$e); /* присвоить дважды значение $e 
после  инкремента, 2*7 = 14, переменной $g */ $h = 
$g += 10; /* сначала $g увеличивается на 10 и останавливается на значении 24. 
Значение присвоения (24) присваивается затем переменной $h, и $h получает окончательное 
значение - также 24 . */