Программирование >>  Создание клиентов mysql 

1 ... 127 128 129 [ 130 ] 131 132 133 ... 201


В этом примере ведется тщательный контроль ошибок. Многие ункции в случае ошибки возвращают FALSE. Внутри инструкций if отображается сообщение об ошибке, за которым следуют номер ошибки и ее описание, полученные от сервера MySQL.

Прежде чем извлекать значения столбцов, сценарий создает заголовок таблицы с именами столбцов. Функции ch field () возвращает объект, содержащий описание полей указанного набора записей. В данном примере используется только свойство name этого объекта, хотя в нем хранится вся информация о столбце, включая его тип и размерность. При очередном обращении функция mysql fetch f ield{) возвращает описание следующего столбца, поэтому она вызывается в цикле.

Функция mysql fetch row {) возвращает массив значений столбцов, индексация которых начинается с нуля. Поскольку в данном примере записи отображаются целиком (в цикле foreach), нет необходимости адресовать отдельные столбцы.

Изменение данных

Запросы на вставку или обновление даннтх не возвращают наборы записей. Они тоже выполняются с помощью функции mysql query {), но вызывать функцию mysql row() нет необходимости. Если требуется узнать число добавленнтх или изме-ненн1х записей, воспользуйтесь функцией l affected rowM ) (листинг 19.3).

Представленный ниже сценарий создает таблицу и добавляет в нее записи. Далее происходит удаление части записей, обновление записей и, наконец, удаление всей таблицы. Обратите внимание на способ вставки записей. В массиве name содержатся девять имен, вставляемых в базу даннгх одной инструкцией INSERT. Сценарий составляет запрос, поочередно добавляя к нему элементы массива, отформатированные в соответствии с синтаксисом многострочной инструкции INSERT. Функция addslashes () вставляет обратную косую черту перед каждым символом, имеющим специальное назначение в SQL, например перед одинарной кавычкой. С помощью функции из текста запроса удаляется хвостовая запятая.

<html> <head>

<title>select.php</title>

</head>

<body>

<?

Открытие постоянного соединения.

if(!{$dbLink = mysql pconnect( localhost , leon , ))

print( Could not connect to server!<br>\n );

print(mysql errno() . : . mysql error() . <br>\n );

exit 0 ;

Выбор базы данных test.

if(!mysql select db( test , $dbLink))



Изменение данных 405

print( Could not select database!<br>\n ); print(mysql errno() . : . mysql error() exit();

<br>\n ) ;

Создание таблицы.

$Query = CREATE TABLE testapl ( .

ID INT (11) NOT NULL AUTO INCREMENT, .

Name VARCHAR (64) , -

PRIMARY KEY(ID)) ; if(!($dbResult = mysql query($Query, $dbLink)

print( Could not create table!<br>\n ); print(mysql errno() . : . mysql error() exitO ;

<br>\n );

Вставка записей.

$Query = INSERT INTO testapi (Name) VALUES ;

$name = array ( Leon , Vicky , Carl , Ricky , Nicki ,

Jeff , Bob , Tina , Joey ); foreach($name as $n) {

$Query .= ( . addslashes($n) . ), ;

$Query ($Query, 0, -1) ;

if(!($dbResult = mysql query($Query, $dbLink)))

print( Could not insert rows!<br>\n ); print(mysql errno() . : . mysql error()

print(mysql affected rows($dbLink)

<br>\n );

rows

Удаление записей.

$Query = DELETE FROM testapi WHERE ID < 4 ; if(!($dbResult = mysql query($Query, $dbLink)))

print( Could not delete rows!<br>\n ); print(mysql errno() . : . mysql error()

print(mysql affected rows($dbLink)

<br>\n );

rows

Обновление записей.

$Query = UPDATE testapi SET Name = None ; if(!($dbResult = mysql query($Query, $dbLink)))

print( Could not update rows!<br>\n ); print(mysql errno() . : . mysql error()

<br>\n );

rows

Удаление таблицы.



$Query = DROP TABLE testapi ;

if(!($dbResult = mysql query($Query, $dbLink)))

print( Could not drop table!<br>\n ); print{mysql errno0 . ; . mysql error(}

<br>\n );

?>

</bodY> </html>



1 ... 127 128 129 [ 130 ] 131 132 133 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика