
Опытный
 
Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004
Репутация: 1 Всего: 0
|
Набросал несколько функций для удобного (на мой, конечно, взгляд) обращения к базе MySQL, посмотрите, может чего изменить следует? Догадываюсь, что существует множество подобных вещей, но в чужом разбираться как то опыт не позволяет  | Код | /******************************************* Функции для работы с базой данных ********************************************/ // Стандартные функции /************************************************************/ // Подключение к базе данных function dbConnect($hostMySQL,$userMySQL,$passMySQL,$baseMySQL) { /* Описание: открывает подключение к MySQL и выбирает базу данных функция возвращает идентификатор ссылки MySQL при успехе, FALSE при неудаче входящие параметры: - $hostMySQL - адрес сервера, например "localhost" - $userMySQL - пользователь базы данных - $userMySQL - пароль пользователя базы данных - $baseMySQL - база данных к которой производится подключение */ $link = mysql_connect($hostMySQL, $userMySQL, $passMySQL); if( !$link ) // Если соединиться не удалось: { // Если соединение не удалось пишем ошибку и возвращаем FALSE. // print "<BR>" . mysql_error() ; return false; } if( ! mysql_select_db( $baseMySQL ) ) // Если нет такой БД { // Если выбрать базу не удалось пишем ошибку и возвращаем FALSE. // print "<BR>" . mysql_error() ; return false; } return $link; } /****************************************************************/ // Запрос к базе данных function DbQuery($sql) { /* Описание выполняет запрос к базе данных для операторов SELECT, SHOW, EXPLAIN или DESCRIBE функция возвращает идентификатор ресурса, FALSE если запрос не был выполнен корректно. Для других типов SQL-операторов mysql_query() возвращает TRUE при успехе, FALSE при ошибке входящие параметры: - $sql - SQL запрос к базе данных */ If ($result = mysql_query($sql)) { return $result; } else { //print "<BR>" . mysql_error() ; return false; } }
/*****************************************************************/ // Добавление записей в таблицы function RecordDbAdd($table, $col, $val) { /* Описание добавлеяет запись в таблицу возвращает значение ключевого поля добавленной записи или FALSE, если добавление не удалось входящие параметры: - $table - таблица в которую производится добавление записи - $col - массив имен полей, в которые следует вносить данные - $val - массив значений полей, указанных выше в массиве $col Если запись происходит в текстовое поле, этот элемент (его значение) должно быть предварительно выделено знаками "'" */ $sql = "INSERT INTO `" . $table . "` ("; for ($i = 0; $i < count($col)-1; $i++) { $sql .= "`" . $col[$i] . "`, "; } $sql .= "`" . $col[$i] . "`)"; $sql .= " VALUES ("; for ($i = 0; $i < count($col)-1; $i++) { $sql .= $val[$i] . ", "; } $sql .= $val[$i] . ")"; //print "<BR>$sql"; If (mysql_query($sql)) { return mysql_insert_id(); } else { //print "<BR>" . mysql_error() ; return false; } }
/******************************************************************/ // Удаление записей из таблицы function RecordDbDel($table, $id, $nid = "id") { /* Описание удаляет запись из таблицы возвращает TRUE при успешном удалении записи или FALSE, если удаление не удалось входящие параметры: - $table - таблица в которую производится добавление записи - $id - значение поля (по умолчанию id) по которому идентифицируется запись, которую следует удалить - $nid - наименование ключевого поля, если отсутствует, то используется id */ $sql = "DELETE FROM `" . mysql_escape_string($table) . "` WHERE " . $nid . "=" . mysql_escape_string($id); If ($result = mysql_query($sql)) { return true; } else { print "<BR>" . mysql_error() ; return false; } }
/*****************************************************************/ // Обновление записей в таблице function RecordDbUpdate($table, $col, $val, $id, $nid = "id") { /* Описание обновляет запись в таблице возвращает TRUE при успешном обновлении записи или FALSE, если обновление не удалось входящие параметры: - $table - таблица в которой производится обновление записи - $id - значение поля (по умолчанию id) по которому идентифицируется запись, которую следует обновить - $col - массив идентификаторов полей записи - $val - массив значений полей, указанных выше в массиве $col - $nid - наименование ключевого поля, если отсутствует, то используется id */ $sql = "UPDATE `" . $table . "` SET "; for ($i = 0; $i < count($col)-1; $i++) { $sql .= "`" . $col[$i] . "` = " . $val[$i] . ", "; } $sql .= "`" . $col[$i] . "` = " . $val[$i]; $sql .= " WHERE " . $nid . "=" . $id; //print "<BR>$sql"; If ($result = mysql_query($sql)) { return true; } else { print "<BR>" . mysql_error() ; return false; } }
|
Добавлено @ 09:01 Исправил функции удаления и обновления что бы в качестве значений идентификатора можно было использовать массив значений | Код | /******************************************************************/ // Удаление записей из таблицы function RecordDbDel($table, $id, $nid = "id") { /* Описание удаляет запись из таблицы возвращает TRUE при успешном удалении записи или FALSE, если удаление не удалось входящие параметры: - $table - таблица в которую производится добавление записи - $id - значение поля (по умолчанию id) по которому идентифицируется запись, которую следует удалить может быть массивом значений для удаления нескольких записей - $nid - наименование ключевого поля, если отсутствует, то используется id */ if (gettype($id) !== "array") { $sql = "DELETE FROM `" . mysql_escape_string($table) . "` WHERE " . $nid . "=" . mysql_escape_string($id); If ($result = mysql_query($sql)) { return true; } else { print "<BR>" . mysql_error() ; return false; } } else { foreach ($id as $k=>$v) { $sql = "DELETE FROM `" . mysql_escape_string($table) . "` WHERE " . $nid . "=" . mysql_escape_string($v); If ($result = mysql_query($sql)) { return true; } else { print "<BR>" . mysql_error() ; return false; } } } }
/*****************************************************************/ // Обновление записей в таблице function RecordDbUpdate($table, $col, $val, $id, $nid = "id") { /* Описание обновляет запись в таблице возвращает TRUE при успешном обновлении записи или FALSE, если обновление не удалось входящие параметры: - $table - таблица в которой производится обновление записи - $id - значение поля (по умолчанию id) по которому идентифицируется запись, которую следует обновить может быть массивом значений для удаления нескольких записей - $col - массив идентификаторов полей записи - $val - массив значений полей, указанных выше в массиве $col - $nid - наименование ключевого поля, если отсутствует, то используется id */ if (gettype($id) !== "array") { $sql = "UPDATE `" . $table . "` SET "; for ($i = 0; $i < count($col)-1; $i++) { $sql .= "`" . $col[$i] . "` = " . $val[$i] . ", "; } $sql .= "`" . $col[$i] . "` = " . $val[$i]; $sql .= " WHERE " . $nid . "=" . $id; //print "<BR>$sql"; If ($result = mysql_query($sql)) { return true; } else { print "<BR>" . mysql_error() ; return false; } } else { foreach ($id as $k=>$v) { $sql = "UPDATE `" . $table . "` SET "; for ($i = 0; $i < count($col)-1; $i++) { $sql .= "`" . $col[$i] . "` = " . $val[$i] . ", "; } $sql .= "`" . $col[$i] . "` = " . $val[$i]; $sql .= " WHERE " . $nid . "=" . $v; //print "<BR>$sql"; If ($result = mysql_query($sql)) { return true; } else { print "<BR>" . mysql_error() ; return false; } } } }
|
Это сообщение отредактировал(а) slang - 6.2.2007, 09:02
--------------------
Запчасти на иномарки www.avtograd55.ru. Если есть время - зайдите и посоветуйте что исправить и что доработать.
|