Категории
Самые читаемые

Справочник по PHP - white cat

Читать онлайн Справочник по PHP - white cat

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 40 41 42 43 44 45 46 47 48 ... 55
Перейти на страницу:

mysql_insert_id

Получает вставленный идентификатор.

Синтаксис:

int mysql_insert_id([int $link_identifier])

Функция возвращает непосредственно перед ее вызовом сгенерированный идентификатор записи для автоинкрементного поля после выполнения команды insert. Вызывать ее разумно только сразу после выполнения инструкции insert, например, в таком контексте:

mysql_query("insert into Таблица(поле 1, поле 2) values("aa","bb")");

$id=mysql_insert_id();

Теперь к только что вставленной записи можно обратиться, используя идентификатор $id:

$r=mysql_query("select * from Таблица where id=$id");

$Row=mysql_fetch_array($r);

mysql_data_seek

Устанавливает указатель текущей строки.

Синтаксис:

int mysql_data_seek(int result, int row_number)

Эта функция устанавливает указатель текущей строки в результате result в позицию row_number, так что следующий вызов mysql_fetch_row() и mysql_fetch_array() вернет значения полей именно этой строки.

Нумерация записей ведется с 0.

Возвращает false в случае ошибки или если строки кончились.

mysql_free_result

Уничтожает набор записей.

Синтаксис:

int mysql_free_result(int result)

Данная функция освобождает память, занимаемую набором записей result, возвращенным запросом.

Эта функция необходима, когда нужно экономить память, т.к. PHP автоматически освобождает память при завершении сценария.

Обработка результатов запроса

mysql_result

Получение определенного поля результата.

Синтаксис:

int mysql_result(int result, int row [, mixed field])

Функция возвращает значение поля field в строке результата с номером row. Параметр field может задавать не только имя поля, но и его номер - позицию, на которой столбец "стоял" при создании таблицы, а также полное имя поля вида: "имя_таблицы.имя_поля". Тем не менее, рекомендуется везде, где это только возможно,использовать именно имена полей.

Функция универсальна: с ее помощью можно "обойти" весь результат по одной ячейке. И хотя это не возбраняется, но делать, однако, не рекомендуется, т.к. mysql_result() работает довольно медленно.

mysql_fetch_array

Извлекает из результата очередную запись и помещает ее в ассоциативный массив.

Синтаксис:

array mysql_fetch_array(int result [, int result_type])

Функция mysql_fetch_array() возвращает очередную строку результата в виде ассоциативного массива, где каждому полю сопоставлен элемент с ключом, совпадающим с именем поля. Дополнительно в массив записываются элементы с числовыми ключами и значениями, соответствующими величинам полей с этими индексами. В возвращаемом массиве они размещаются сразу за элементами с "обычными" ключами.

Параметр result_type задает вид возвращаемого массива и может принимать одно из следующих значений: MYSQL_NUM, MYSQL_ASSOC, MYSQL_BOTH (по умолчанию).

Может возникнуть вопрос: зачем вообще нужны числовые индексы. Ответ прост: дело в том, что в результате выборки в действительности могут присутствовать поля (фактически, колонки) с одинаковыми именами, но, соответственно, с различными индексами. Это происходит тогда, когда выборка в SELECT производится одновременно из нескольких таблиц.

mysql_connect($host, $user, $pass);

$result=mysql_db_query("database", "select id, name from tabl");

while($row=mysql_fetch_array($result)) {

echo "id: ".$row["id"]."<BR>";

echo "id: ".$row[0]."<BR>";

echo "name: ".$row["name"]."<BR>";

echo "name: ".$row[1]."<BR>";

};

mysql_free_result($result);

mysql_fetch_row

Записывает запись в нумерованный массив.

Синтаксис:

array mysql_fetch_row(int result)

Функция возвращает массив-список со значениями полей очередной строки результата result. Если указатель текущей позиции результата был установлен за последней записью (то есть строки кончились), возвращается false. Текущая позиция сдвигается к следующей записи, так что очередной вызов mysql_fetch_row() вернет следующую строку результата.

Каждое поле записи сохраняется в нумерованном элементе массива. Нумерация начинается с 0.

$r=mysql_query("select * from OutTable where age<30");

while($Row=mysql_fetch_row($r)) {

// обрабатываем строку $Row

}

Как видим, цикл оборвется, как только строки закончатся, т.е. когда mysql_fetch_row() вернет false.

mysql_fetch_object

Получение записи в свойствах объекта.

Синтаксис:

object mysql_fetch_object(int result)

Функция возвращает объект, в свойствах которого находятся поля текущей записи. В случае, если записи кончились, возвращает false.

mysql_connect($host, $user, $pass);

$result=mysql_db_query("database", "select * from table");

while($rows=mysql_fetch_object($result)) {

echo $rows->id;

echo $rows->name;

};

mysql_fetch_lengths

Возвращает длину элемента записи.

Синтаксис:

array mysql_fetch_lengths(int result)

Функция mysql_fetch_lengths() возвращает длину значения, полученного при помощи функций mysql_fetch_row(), mysql_fetch_array() или mysql_fetch_object().

Например, в следующем примере:

$arr=mysql_fetch_row($result);

$len=mysql_fetch_lengths($result);

массив $len будет содержать длину соответствующих элементов массива $arr, т.е. $len[0]=strlen(arr[0]) и т.д.

mysql_fetch_field

Возвращает информацию о свойствах объекта и о поле записи.

Синтаксис:

object mysql_fetch_field(int result [, int field_offset])

В необязательном параметре field_offset задается номер поля, свойства которого мы хотим получить. Если этот параметр не указан, при каждом вызове функции mysql_fetch_field() возвращаются свойства следующего поля из набора записей result.

Возвращаемый объект имеет следующие свойства:

mysql_connect($host,$user,$pass);

$result=mysql_db_query("database", select * from table");

for($i=0;$i<mysql_num_fields($result);$i++) {

echo "Свойства поля $i:<BR>";

$param=mysql_fetch_field($result);

if(!$param) echo "Нет информации о свойствах!";

echo "<PRE>

name: $param->name

table: $param->table

max_length: $param->max_length

not_null: $param->not_null

primary_key: $param->primary_key

unique_key: $param->unique_key

multiple_key: $param->multiple_key

numeric: $param->numeric

blob: $param->blob

type: $param->type

unsigned: $param->unsigned

zerofill: $param->zerofill

</PRE>";

}

mysql_field_seek

Производит перемещение курсора к указанному полю.

Синтаксис:

int mysql_field_seek(int result, int field_offset)

Данная функция является излишней. Следующие фрагменты будут эквивалентны:

$param=mysql_fetch_field($result, field_offset);

и

mysql_field_seek($result, field_offset);

$param=mysql_fetch_field($result);

mysql_field_name

Возвращает имя поля.

Синтаксис:

string mysql_field_name(int result, int filed_index)

Функция mysql_field_name() возвращает имя поля, которое расположено в результате result с индексом filed_index (нумерация начинается с 0).

$result=mysql_query("SELECT id, name from table");

echo mysql_field_name($result,1); // Выведет: name

mysql_field_table

Возвращает имя таблицы, из которой было извлечено поле.

Синтаксис:

string mysql_field_table(int result, int field_offset)

Возвращает имя таблицы, из которой было извлечено поле со смещением field_offset в результате result.

mysql_field_len

Возвращает длину поля.

Синтаксис:

int mysql_field_len(int result, int filed_offset)

Функция возвращает длину поля в результате result. Поле, как обычно, задается указанием его смещения. Под длиной здесь подразумевается не размер данных поля в байтах, а тот размер, который был указан при его создании. Например, если поле имеет тип varchar и было создано (вместе с таблицей) с типом varchar(100), то для него будет возвращено 100.

mysql_field_type

Возвращает тип набора записей в результате.

Синтаксис:

string mysql_field_type(int result, int filed_offset)

Эта функция похожа на mysql_filed_name(), только возвращает не имя , а тип соответствующей колонки в результате. Им может быть, например, int, double, real и т.д.

mysql_connect($host,$user,$pass);

mysql_select_db("mydb");

$result=mysql_query("SELECT * FROM tabl");

$fields=mysql_num_fields($result);

$rows=mysql_num_rows($result);

$i=0;

$table=mysql_field_table($result,$i);

echo "Таблица "$table" имеет $fields полей и $rows записей<BR>";

echo "Структура таблицы:<BR>";

while($i<$fields) {

$type=mysql_field_type($result,$i);

$name=mysql_field_name($result,$i);

$len=mysql_field_len($result,$i);

1 ... 40 41 42 43 44 45 46 47 48 ... 55
Перейти на страницу:
На этой странице вы можете бесплатно скачать Справочник по PHP - white cat торрент бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Сергій
Сергій 25.01.2024 - 17:17
"Убийство миссис Спэнлоу" от Агаты Кристи – это великолепный детектив, который завораживает с первой страницы и держит в напряжении до последнего момента. Кристи, как всегда, мастерски строит