Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
только одно соединение. 
string mysql_error([int $link_identifier]) 
Эта функция возвращает не номер, а строку, содержащую текст сообщения об ошиб- 
ке. Ее удобно применять в отладочных целях. 
Выполнение запросов 
к базе данных 
Теперь мы подходим непосредственно к тому, как формировать и посылать запросы к 

базе данных. Для этого существует одна-единственная функция — 
mysql_query() — и возвращает она не что иное, как идентификатор результирую- 
щего набора данных. 
Помните, мы говорили, что результат сразу не пересылается клиенту? Так вот, 
чтобы 
до него добраться, и служит этот идентификатор. Существует очень много функций, 

которые принимают его в качестве параметра и возвращают те или иные данные. Их 
мы рассмотрим чуть позже. 
int mysql_query(string $query [,int $link_identifier]) 
Эта функция в своем роде универсальна: она посылает MySQL-серверу запрос 
$query и возвращает идентификатор ответа, или результата. Параметр $query пред- 

ставляет собой строку, составленную по правилам языка SQL. Используется 
установ- 
ленное ранее соединение $link_identifier, а в случае его отсутствия — последнее 

открытое соединение. 
Есть несколько команд SQL, которые возвращают только признак, успешно они вы- 
полнились или нет (например, это команды UPDATE, INSERT и т. д.). 
В таком случае этот признак и будет возвращен функцией. Наоборот, для запроса 
SELECT возвращается как раз идентификатор вывода, нулевое значение которого 
сви- 
детельствует о том, что произошла ошибка. 
На самом деле существует еще одна функция для выполнения запроса, но использо- 
вать ее менее удобно, поскольку всякий раз приходится указывать имя базы данных,
 
к которой осуществляется доступ. 
int mysql(string $dbname, string $query [,int $link_identifier]) 

Часть IV. Стандартные функции PHP 366 
Служит для тех же целей, что и функция mysql_query(), только обращение осуще- 
ствляется не к текущей выбранной базе данных, а к указанной в параметре $dbname.
 
Если вы владеете сразу несколькими базами данных и обращаетесь к ним одновре- 
менно, то, возможно, применение этой функции окажется для вас оправданным. Как 
обычно, параметр $link_identifier можно опустить, тогда используется послед- 
нее открытое соединение. 
Язык запросов MySQL 
Разумеется, весь язык запросов SQL в рамках одной главы описать просто 
невозмож- 
но. О нем сочиняют (и будут сочинять) "объемистые" книги. Однако самые основные 

команды я в этой главе приведу. Более подробно о них (и о некоторых других 
инст- 
рукциях) будет рассказано в части V книги, где описаны и другие 
распространенные 
приемы программирования. 
Все без исключения запросы к базе данных посылаются при помощи одной- 
единственной функции — mysql_query() (или mysql(), см. рассуждения выше). 
Они должны передаваться ей в виде строкового параметра. Этот параметр, впрочем, 

может быть и многострочным — т. е., содержать символы перевода строки. MySQL 
допускает включение любого количества пробелов, символов табуляции или перевода 

строки везде, где разрешено использование одного пробела (в этом смысле он 
похож 
на PHP и большинство других языков программирования). 
Язык SQL позволяет нам создавать довольно сложные запросы. Ниже перечислены 
наиболее употребительные команды MySQL. 
Создание таблицы 
create table ИмяТаблицы(ИмяПоля тип, ИмяПоля тип, ...) 
Этой командой в базе данных создается новая таблица с колонками (полями), опре- 

деляемыми своими именами (ИмяПоля) и указанными типами. 
Типы полей 
Сейчас я перечислю практически все типы полей, которые могут применяться в 
MySQL. Их довольно много. Квадратными скобками, по традиции, я буду помечать 
необязательные элементы. 
Целые числа 
Существует несколько разных типов целых чисел, различающихся количеством бай- 
тов данных, которые отводятся в базе данных для их хранения. Все эти типы 
рознятся 
только названиями и (с некоторыми сокращениями) записываются так: 

Глава 26. Работа с базой данных MySQL 367 
префиксINT [UNSIGNED] 
Необязательный флаг UNSIGNED 
 
<<-[Весь Текст]
Страница: из 287
 <<-