русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Запись данных в базу данных


Дата добавления: 2013-12-23; просмотров: 1073; Нарушение авторских прав


Задание.

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.

resource mysql_list_fields (string database_name, string table_name [,resource link_identifier])

Эта функция возвращает список полей в таблице 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());

echo "Соединение установлено";

//выбов базы данных book

mysql_select_db("book");

//получение списка полей таблицы Artifacts

$list_f = mysql_list_fields ( "book","Artifacts",$conn);

//получение количества полей таблицы Artifacts

$n = mysql_num_fields($list_f);

//определение для каждого поля его тип, имя, длину и флаги

for($i=0;$i<$n; $i++){

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

$name_f = mysql_field_name($list_f,$i);

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

$flags_str = mysql_field_flags ( $list_f, $i);

echo "<br>Имя поля: ". $name_f;

echo "<br>Тип поля: ". $type;

echo "<br>Длина поля: ". $len;

echo "<br>Строка флагов поля: ". $flags_str . "<hr>";

}

?>

Если в таблице есть два поля, то в результате может получиться следущее:

Имя поля: id

Тип поля: int

Длина поля: 11

Строка флагов поля: not_null primary_key auto_increment

Имя поля: title

Тип поля: string

Длина поля: 255

Строка флагов поля:

 

 

 

1. Создать форму для отображения любой таблицы базы данных. Форма должна содержать список всех таблиц некоторой базы данных. При выборе какой-то таблицы из списка, в форме выводятся соответствующие поля для заполнения таблицы. Например: если таблица содержала поля id – int ,title – varchar(50), present – bool, где id – счетчик, то в окне должна появится форма с двумя полями – текстовым полем для ввода title, размером 50, и флажок для поля present.

2. Создать базу данных для форума. Разработать набор таблиц для хранения информации о пользователях форума и обмене сообщений между ними.

 

Для того чтобы записать данные в таблицу, используется команда INSERT языка SQL. Например:

mysql> INSERT INTO People SET title='Петров';

Для того, чтобы выполнить SQL запрос в РНР скрипте, существует функция mysql_query().

recourse mysql_query ( string query [, recourse link_identifier])

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>"; ?>


<== предыдущая лекция | следующая лекция ==>
Соединение с сервером | Получение результата


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.