RU EN

Lada-studio. Полный стек веб-разработки. lada-studio.com
Корпоративный сайт

Корпоративный сайт

Корпоративный портал для компании!
Интернет-магазин

Интернет-магазин

Современный и быстрый сайт!
Социальная сеть

Социальная сеть

Уникальные решения!
Персональный сайт

Персональный сайт

Для вашего бизнеса!

ВЕБ

Полный стек веб-разработки...

Полный стек веб-разработки...
Веб-сайт friendlystyle.ru
Веб-сайт you-paint.pro
Веб-сайт med-3.ru

НАШИ РЕШЕНИЯ PHP PDO MySQL

Объекты данных PHP (PDO).

Применение расширения PDO... Пример кода  

PHP PDO это специализированный, универсальный класс реализующий интерфейс доступа к базам данных. Он обеспечивает взаимодействие с базами данных при помощи объектов и позволяет подключаться к множеству их различных типов (MySQL, PostgreSQL, SQLite, Oracle, Microsoft SQL Server и другие)...

Всегда следует помнить об обеспечении безопасности вашего приложения, в частности о защите от SQL-инъекций. Применение подготовленных запросов PDO к базе данных MySQL обеспечивает такую защиту! Это единственный безопасный способ выполнения SQL-запросов с использованием переменных!

PHP-PDO

Db.php (Класс Db - компонент для работы с базой данных)


class Db
{
    /**
     * Устанавливает соединение с базой данных
     * @return Объект класса PDO для работы с БД
     */
    public static function getConnection()
    {
        // Получаем параметры подключения из файла
        $paramsPath = ROOT . '/config/db_params.php';
        $params = include($paramsPath);

        // Устанавливаем соединение
        $dsn = "mysql:host={$params['host']};dbname={$params['dbname']}";
        $db = new PDO($dsn, $params['user'], $params['password']);

        // Задаем кодировку
        $db->exec("set names utf8");

        return $db;
    }
}
						
db_params.php (Массив с параметрами подключения к базе данных)

						
return array(
   	
'host' => 'YourHost',
'dbname' => 'YourDbName',
'user' => 'YourUserName',
'password' => 'YourPassword',
);						
						
Пример подготовленного запроса к БД в модели User.php


/**
 * Класс User - пример модели для работы с пользователями
 */
 class User
{
/**
* Регистрация пользователя 
* @param array $options (Массив с информацией о пользователе)
* @return integer (id добавленной в таблицу user записи)
*/
public static function register($options)
   {
	$name = $options['name'];
	$email = $options['email'];
	$password = $options['password'];
	
	/* !!! Все входящие данные должны быть очищены, чтобы устранить уязвимость XSS (межсайтовый скриптинг) !!!
         * $name = strip_tags($options['name']);
         * $name = htmlentities($options['name'], ENT_QUOTES, "UTF-8");
         * $name = htmlspecialchars($options['name'], ENT_QUOTES);
         * !!! Пароль($password) должен быть зашифрован надежным алгоритмом шифрования !!!
         */
	
	// Соединение с БД
	$db = Db::getConnection();
	// Текст запроса к БД
	$sql = 'INSERT INTO user (name, email, password)'
	. 'VALUES (:name, :email, :password)';
	// Получение и возврат результатов. Используется подготовленный запрос.
        $result = $db->prepare($sql);
        $result->bindParam(':name', $name, PDO::PARAM_STR);
        $result->bindParam(':email', $email, PDO::PARAM_STR);
        $result->bindParam(':password', $password, PDO::PARAM_STR);
        if ($result->execute()) {
        // Если запрос выполнен успешно, возвращаем id добавленной в таблицу записи.
        return $db->lastInsertId();
        }
        // Иначе возвращаем 0
        return 0;
   }
}
						
Здесь представлен пример универсального класса PHP PDO и реализация интерфейса доступа к базам данных... Обязательно применяйте методику разработки программного обеспечения, предотвращающую внедрение уязвимостей, обеспечивающую устойчивость к воздействию вредоносных программ и несанкционированному доступу!