Мой Kbyte.Ru
Рассылка Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Алексей Немиро -

PHP - Базы данных

Все примеры / Базы данных

Php-класс для работы с MySql

Автор: Алексей Немиро | добавлено: 14.10.2011, 16:58 | просмотров: 4717 (2+) | комментариев: 0 | рейтинг: *x10
Это хелпер-класс, позволяющий легко работать с СУБД MySql в php. Класс создавался по подобию .NET и содержит функции: ExecuteNonQuery, ExecuteScalar, GetTable, GetRow. Все функции могут принимать как обычные SQL-запросы, так и параметризированные запросы, что позволяет исключить SQL Injection. Класс полностью работоспособный и не требуется каких-либо изменений и дополнений.

Код

/*
Скачайте файл класса (см. ниже, под этим примером).

Код класса изменять не нужно, он полностью автономный и проверен временем. Перед использованием, необходимо в коде объявить нижеследующие константы. Лучше всего это сделать в файле, который инклудится ко всем страницам (такой должен быть, наверное, в каждом проекте):
*/

##########################################
define("DB_NAME", "kbyte_database"); // имя базы данных
define("DB_USER", "kbyte_user"); // имя пользователя
define("DB_PASSWORD", "1234567890"); // пароль к бд
define("DB_HOST", "localhost"); // адрес сервера баз данных
define("DB_CHARSET", "utf8"); // кодировка бд
define("DB_COLLATE", "");
define("DB_DEBUG", false); // дебаг (true или false)
define("DB_MODE", 2); // 0 - в ручную откр/закр, 
// 1 - автоматически при запросе (не рекомендуется, т.к. много конектов),
// 2 - открывает само и закрывает когда нужно (рекомендуется)
##########################################

// Затем, нужно создать экземпляр класса MySql:

$MySql = new MySql();

//И дальше можно выполнять запросы к серверу БД:

# получение списка пользователей из таблицы users
$t = $MySql->GetTable("SELECT * FROM users");

if ($t != NULL && count($t) > 0)
{
 // листаем циклом полученные данные из таблицы - $t в строку $r
 foreach ($t as $r)
 {
  echo $r["nickname"]."<br />"; // выводим на страницу данные из поля (колонки) nickname
 }
}
else
{
 echo "По вашему запросу данные не найдены..";
}

# помимо таблицы, можно получить только одну строку, при помощи функции GetRow

$userId = 1; // идентификатор пользователя
$r = $MySql->GetRow("SELECT * FROM users WHERE id_users = %s", array($userId));
if ($r != NULL)
{
 echo $r["nickname"]; // выводим имя пользователя
}
else
{
 echo "пользователь с идентификатором $userId не найден";
}

// или по логину и паролю
$login = "admin";
$password = "123456789";
$r = $MySql->GetRow("SELECT * FROM users WHERE [login] = %s AND [password] = %s", array($login, $password));
if ($r != NULL)
{
 echo $r["nickname"]; // выводим имя пользователя
}
else
{
 echo "пользователь не найден";
}

// в запросах в качестве маркера параметров используются символы %s
// значения параметров указываются в массиве (array), в том порядке, в котором они должны быть в запросе


// чтобы добавить, изменить или удалить данные, можно использовать функции:
// ExecuteNonQuery и ExecuteScalar
// Функция ExecuteNonQuery - выполняет указанный запрос и не возвращает никаких данных
// Функция ExecuteScalar выполняет указанный запрос и возвращает идентификатор добавленных данных

// например, можно удалить пользователя из базы
$userId = 1; // идентификатор пользователя
$MySql->ExecuteNonQuery("DELETE FROM users WHERE id_users = %s", array($userId));

// или добавить нового пользователя
$newId = $MySql->ExecuteScalar("INSERT INTO users (nickname, email, [login], [password])", array("Вася", "vasya@kbyte.ru", "mylogin", "1234567890"));
echo "Создан новый пользователь - $newId";
Файлы system.data.zip (2,68 Кб)
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики