|
Программирование >> Создание клиентов mysql
В этом примере ведется тщательный контроль ошибок. Многие ункции в случае ошибки возвращают 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>
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |