Изменение записей
Оператор SQL UPDATE используется для изменения или обновления существующих записей базы данных.
Синтаксис оператора SQL UPDATE показан ниже:
UPDATE ИмяТаблицы SET (FieldName1=value1 [,FieldName2=value2]...) WHERE критерийСледующая форма представляет запись пользователя, которая будет обновлена в таблице базы данных Personnel. Модификация любых полей, связанных с записью, и щелчок на кнопке Update Record вызывает процедуру PHP, которая выполняет оператор SQL UPDATE, чтобы обновить эту запись в таблице базы данных.
Кроме показанных выше элементов управления формы страница содержит также скрытое текстовое поле с именем "AutoNum" со значением, равным значению поля AutoNum в таблицы базы данных. Это поле используется для уникальной идентификации каждой записи. Следующий код демонстрирует работу страницы:
DirectorySearch.php <?php if ($_POST['submitb']=="Update Record") { $new_fname = $_POST['FName']; $new_lname= $_POST['LName']; $new_telephone = $_POST['Telephone']; $new_email = $_POST['Email']; $conn = odbc_connect('Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\path\to\database.mdb','',''); $sqlUpdate = "UPDATE Personnel SET (FName = '$new_fname', LName = '$new_lname', Telephone = '$new_telephone', Email = '$new_email') WHERE AutoNum =" . $_POST['AutoNum']; $rsUpdate = odbc_exec($conn,$sqlUpdate); if(odbc_num_rows($rsUpdate) == 1) { echo "Запись успешно обновлена!"; } odbc_close($conn); } ?>Пример 9.5.
После щелчка на кнопке "Update Record" текущие значения полей формы присваиваются скалярным переменным. Этот шаг не является обязательным, однако он упрощает кодирование оператора SQL UPDATE. Затем устанавливается соединение с базой данных Access. После соединения с базой данных формируется оператор SQL UPDATE для обновления записи в таблице Personnel со значением поля AutoNum, равным значению скрытого текстового поля AutoNum. Затем выполняется оператор SQL. Результаты функции odbc_exec() присваиваются переменной $rsUpdate. Последний шаг состоит в проверке, что обновление записи было успешно, и в выводе подтверждающего сообщения.
Функция odbc_num_rows() используется для определения числа строк в результате ODBC или числа строк, затронутых оператором odbc_exec(). Так как обновляется только одна запись, то обновление записи проходит успешно, если результат функции odbc_num_rows() будет равен 1. В конце соединение с базой данных закрывается.
Лекция 10. Доступ к базе данных MySQL
Дата добавления: 2015-04-19; просмотров: 583;