- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Справочник по PHP - white cat
Шрифт:
Интервал:
Закладка:
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);