(PECL ibm_db2 >= 1.0.0)
db2_fetch_object — Возвращает объект со свойствами, представляющими столбцы в выбранной строке
Возвращает объект, в котором каждое свойство представляет столбец, возвращённый в строке, полученной из набора результатов.
stmt
Допустимый ресурс stmt
, содержащий набор результатов.
row_number
Запрашивает конкретную строку по индексу (начинается с 1) из набора результатов. Передача параметра приводит к предупреждению PHP, если в наборе результатов используется курсор "forward-only".
Возвращает объект, представляющий одну строку в наборе результатов. Свойства объекта сопоставляются с именами столбцов в наборе результатов.
Серверы баз данных IBM DB2, Cloudscape и Apache Derby обычно переводят имена столбцов в верхний регистр, поэтому свойства объекта будут отражать этот регистр.
Если запрос SELECT вызывает скалярную функцию для изменения значения столбца, серверы баз данных возвращают номер столбца как имя столбца в наборе результатов. Если требуется более осмысленное имя столбца и свойство объекта, вы можете использовать конструкцию AS, чтобы присвоить имя столбцу в наборе результатов.
Возвращает false
, если ни одна строка не была получена.
Пример #1 Пример использования db2_fetch_object()
В следующем примере выполняется запрос SELECT со скалярной функцией RTRIM, которая удаляет пробелы в конце столбца. Вместо того, чтобы создавать объект со свойствами "BREED" и "2", мы используем конструкцию AS в запросе SELECT для присвоения имени "name" изменённому столбцу. Сервер базы данных переводит имена столбцов в верхний регистр, в результате чего получается объект со свойствами "BREED" и "NAME".
<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT breed, RTRIM(name) AS name
FROM animals
WHERE id = ?";
if ($conn) {
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(0));
while ($pet = db2_fetch_object($stmt)) {
echo "Иди сюда, {$pet->NAME}, мой маленький {$pet->BREED}!";
}
db2_close($conn);
}
?>
Результат выполнения приведённого примера:
Иди сюда, Пушок, мой маленький котёнок!