ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Базы данных. Часть Двадцать Восьмая.


06-04-2015

string pg_escape_string(string text)
Функция pg_escape_string возвращает двоичные данные, подготовленные для использования в запросе, с удалением специальных символов. Эту функцию можно использовать вместо функции addslashes. 
array pg_fetch_all(resource result)
Функция pg_fetch_all (листинг 17.44) возвращает полный результирующий набор. PHP индексирует каждую строку целым числом, начиная с нуля. Каждый элемент является массивом, проиндексированным по имени столбца.

Листинг 17.44. Функция pg_fetch_all

<?php
//Подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // получить все записи таблицы SKU $Query = "SELECT ID, Name " .
"FROM sku ";
// выполнить запрос
$Result = pg_query($Link, $Query); //получить весь результирующий набор $Row = pg_fetch_all($Result); print_r($Row);
?>

array pg_fetch_array(resource result, integer row, integer type)
Функция pg_fetch_array (листинг 17.45) возвращает массив, содержащий значения всех полей, для заданной строки. Для поиска следующей строки номер строки можно не задавать.
PHP индексирует значения по номеру, начиная с нуля, и имени столбца. Каждый вызов функции pg_fetch_array возвращает следующую строку или значение FALSE, если больше строк не осталось. Управлять массивом возвращаемых значений можно с помощью аргумента type, который может иметь одно из следующих значений:
PGSQL_ASSOC, PGSQL_BOTH или PGSQL_NUM. При значении PGSQL_ASSOC PHP
индексирует только по именам столбцов, при значении PGSQL_NUM - только по номерам столбцов.
Сравните эту функцию с функциями pg_fetch_assoc и pg_fetch_row.

Листинг 17.45. Функция pg_fetch_array

<?php
// подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // получить все записи таблицы SKU $Query = "SELECT ID, Name " .
"FROM sku ";
// выполнить запрос 
$Result = pg_query($Link, $Query); // сделать проход по всем строкам while($Row = pg_fetch_array($Result)) {
print("($Row['id']} = {$Row['name']}<br>n");
}

array pg_fetch_assoc(resource result, integer row)
Функция pg_fetch_assoc возвращает массив, содержащий значения всех полей заданной строки. Для поиска следующей строки номер строки можно не задавать. PHP индексирует значения по имени столбца.
Сравните эту функцию с функциями pg_fetch_array и pg_fetch_row.
object pg_fetch_object(resource result, integer row)
Функция pg_fetch_object (листинг 17.46) возвращает объект с перечнем свойств всех полей. Каждое свойство имеет имя, соответствующее имени поля. Вызов pg_fetch_object возвращает следующую строку или значение FALSE, если строк больше не осталось.
Сравните эту функцию с функцией pg_fetch_array.

Листинг 17.46. Функция pg_fetch_object

<?php
// подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // получить все записи таблицы SKU $Query = "SELECT ID, Name " .
"FROM sku ";
// выполнить запрос
$Result = pg_query($Link, $Query); // сделать проход по всем строкам while($Row = pg_fetch_object($Result))
{
print("$Row->id = $Row->name<br>n");
}

string pg_fetch_result(resource result, integer row, value field)
Функция pg_fetch_result (листинг 17.47) предназначена для получения значения определенного поля из результирующего набора; поля могут быть как пронумерованы с нуля, так и обозначены по имени. 
Листинг 17.47. Функция pg_fetch_result

<?php
// подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // распечатать информацию о соединении print("Соединение установлено^^^"); print("Узел: " . pg_host($Link) . "<br>n"); print("Порт: " . pg_port($Link) . "<br>n"); print("База данных: " . pg_dbname($Link) . "<br>n"); print("Параметры: " . pg_options($Link) . "<br>n"); print("<br>n"); // создать запрос $Query = "SELECT * " .
"FROM session "; // выполнить запрос
if(!($Result = pg_query($Link, $Query)))
{
print("Невозможно выполнить запрос: "); print(pg_last_error($Link));

print("<br>n"); exit;
}
// распечатать все строки таблицы print("<table border="1">n"); // распечатать строку с заголовками print("<tr>n");
for($Field=0; $Field < pg_num_fields($Result); $Field++)
{
print("<th>");
print(pg_field_name($Result, $Field) . "<br>");
print(pg_field_type($Result, $Field));
print("(" . pg_field_size($Result, $Field) . ")");
print("</th>n");
}
print("</tr>n"); // обход по строкам
for($Row=0; $Row < pg_num_rows($Result); $Row++)
{
print("<tr>n");
for($Field=0; $Field < pg_num_fields($Result); $Field++)
{
print("<td>");
if(pg_field_is_null($Result, $Row, $Field))
{
print("NULL");
}
else
{
print(pg_fetch_result($Result, $Row, $Field));

print("</td>n");
}
print("</tr>n");
}
print("</table>n");
// освободить память и закрыть соединение
pg_freeresult($Result);
pg_close($Link);
?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Базы данных. Часть Двадцать Седьмая. PHP. Базы данных. Часть Двадцать Девятая.