String mysql_field_len (resource result, int field_offset)
String mysql_field_flags (resource result, int field_offset)
String mysql_field_type (resource result, int field_offset)
String mysql_field_name (resource result, int field_offset)
Получение списка полей таблицы
Обработка ошибок
Если в процессе работы с MySQL возникают ошибки (например, в запросе не сбалансированы скобки или же не хватает параметров), то сообщение об ошибке и ее номер можно получить с помощью двух функций.
int mysql_errno ([int $link_identifier])
Функция возвращает номер последней зарегистрированной ошибки. Идентификатор соединения $link_identifier можно не указывать, если за время работы сценария было установлено только одно соединение.
string mysql_error( [int $link_identifier])
Эта функция возвращает не номер, а строку, содержащую текст сообщения об ошибке. Ее удобно применять в отладочных целях. Обычно mysql_error() используют вместе с конструкцией or die(), например:
@mysql_connect("localhost", "user", "password")
or die("Error connecting to database: ".mysql_error());
Оператор @ служит для подавления стандартного предупреждения, которое может возникнуть в случае ошибки.
Для получения списка полей таблицы используют команду - mysql_list_fields.
Эта функция возвращает список полей в таблице table_name в базе данных database_name. Результат работы этой функции - переменная типа ресурс. Это ссылка, которую можно использовать для получения информации о полях таблицы, включая их названия, типы и флаги.
Функция mysql_field_name возвращает имя поля, полученного в результате выполнения запроса. Функция mysql_field_len возвращает длину поля. Функция mysql_field_type возвращает тип поля, а функция mysql_field_flags возвращает список флагов поля, записанных через пробел. Типы поля могут быть int, real, string, blob и т.д. Флаги могут быть not_null, primary_key, unique_key, blob, auto_increment и т.д.
Синтаксис у всех этих команд одинаков:
Здесь result - это идентификатор результата запроса (например, запроса, отправленного функциями mysql_list_fields), а field_offset - порядковый номер поля в результате.
Функция mysql_list_fields возвращает указатель на таблицу. Чтобы получить из этой таблицы конкретные значения, нужно задействовать специальные функции, которые построчно читают эту таблицу. К таким функциям и относятся mysql_field_name и т.п. Чтобы перебрать все строки в таблице результата выполнения запроса, нужно знать число строк в этой таблице. Команда mysql_num_rows(ресурс result) возвращает число строк во множестве результатов result.
<?
$conn = mysql_connect("localhost","","")
or die("Невозможно установить соединение: ". mysql_error());
1. Создать форму для отображения любой таблицы базы данных. Форма должна содержать список всех таблиц некоторой базы данных. При выборе какой-то таблицы из списка, в форме выводятся соответствующие поля для заполнения таблицы. Например: если таблица содержала поля id – int ,title – varchar(50), present – bool, где id – счетчик, то в окне должна появится форма с двумя полями – текстовым полем для ввода title, размером 50, и флажок для поля present.
2. Создать базу данных для форума. Разработать набор таблиц для хранения информации о пользователях форума и обмене сообщений между ними.
Для того чтобы записать данные в таблицу, используется команда INSERT языка SQL. Например:
mysql> INSERT INTO People SET title='Петров';
Для того, чтобы выполнить SQL запрос в РНР скрипте, существует функция mysql_query().
mysql_query() посылает SQL-запрос активной базе данных MySQL сервера, который определяется с помощью указателя link_identifier (это ссылка на какое-то соединение с сервером MySQL). Если параметр link_identifier опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров. Параметр query - это строка запроса, она не должна заканчиваться точкой с запятой.
Для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE, если запрос не был выполнен. В остальных случаях mysql_query() возвращает TRUE, если запрос выполнен успешно, и FALSE - в случае ошибки. Значение, не равное FALSE, говорит о том, что запрос был выполнен успешно. Оно не говорит о количестве затронутых или возвращенных рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда. mysql_query() также считается ошибочным и вернет FALSE, если у пользователя недостаточно прав для работы с указанной в запросе таблицей.
<?$conn=mysql_connect("localhost","","");// устанавливаем соединение$database = "book";$table_name = "People";mysql_select_db($database); // выбираем базу данных$sql = "INSERT INTO $table_name SET id=123 , name =’Iavn’, surname =’Ivanov’”// вывод запроса в браузер//echo $sql; $result = mysql_query($sql,$conn); // отправляем запрос // выводим сообщение успешно ли выполнен запросif (!$result) echo " Can't add ($table_name) "; else echo "Success!<br>"; ?>