SEO продвижение сайтов

Подключение к MySQL в PHP

    
    //Это данные для подключения к MySQL
    $host='localhost'; // адрес сервера 
    $user='root';      // Login
    $pass='';          // Пароль
    $base='sasha';     // Имя базы данных

    echo '<h2>У вас PHP '.phpversion()."версия</h2>\n";

PDO подключение PHP к MySQL

 
    //PDO подключение
    $opt=[
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,//Режим ошибки -> исключение
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,      //Ассоциативный массив
            PDO::ATTR_EMULATE_PREPARES   => false,                 //Режим эмуляции
        ];

    try 
    {
        $con=new PDO("mysql:host=$host;dbname=$base;charset=utf8",$user,$pass,$opt);
        echo "<h4>Подключились new PDO</h4>\n";

        $sth=$con->prepare("SELECT * FROM `tovary` WHERE id >= :idMin and id <= :idMax");
        $sth->execute(['idMin'=>1,'idMax'=>5]);

        //$sth=$con->prepare("SELECT * FROM `tovary` WHERE id >= ? and id <= ?");//ИЛИ так...
        //$sth->execute([1,5]);

        foreach ($sth AS $row)
           print_r($row);

       $con=null;//Закрываем подключение
    } 
    catch (PDOException $e) 
    {
        die('Подключение не удалось new PDO: '.$e->getMessage());//exit;
    }  

Объектно-ориентированное подключение к MySQL

 
    //Объектно-ориентированный стиль
    @$con=new mysqli($host, $user, $pass, $base);
    if ($con->connect_error)
    {
        echo  'Подключение не удалось new mysqli: '.$con->connect_error."!<br>\n";//exit;
    }
    else
    {  
        echo  "<h4>Подключились new mysqli</h4>\n";

        $con->query('SET NAMES utf8');
        $stmt = $con->stmt_init();

        if(
        ($stmt->prepare("SELECT * FROM `tovary` WHERE id >= ? and id <= ?")===FALSE)
        OR ($stmt->bind_param('ii', $id_min=1, $id_max=5)===FALSE)//i–integer, d—double, s–строка
        OR ($stmt->execute()===FALSE)
        OR (($result=$stmt->get_result())===FALSE)//Буферизированный результат
        OR ($stmt->close()===FALSE)
        ) 
            die('Select Error (' . $stmt->errno . ') ' . $stmt->error);
        
        while ($row=$result->fetch_row()) 
            print_r($row);
        
        $con->close();//Закрываем подключение
    }

Процедурный стиль в PHP подключение к MySQL

 
    //Только до 5 версии!!! - Процедурный стиль
    @$con=mysql_connect($host,$user,$pass); //Соединение с Mysql echo $put;
    if ($con)
    {
        mysql_select_db($base);//Выбрать базу
        echo "<h4>Подключились mysql_connect()!</h4>\n";

        mysql_query('SET NAMES utf8');//Кодировка
        $rs=mysql_query('SELECT * FROM `tovary`;',$con);

        while ($row=mysql_fetch_assoc($rs)) 
            print_r($row);
        
        mysql_close($con);//Закрываем подключение
    }   
    else 
    {
        echo "Подключение не удалось mysql_connect !<br>\n";//exit;
    }

Реальное PHP подключение к MySQL

Паттерн Одиночка - Design Pattern Singleton

 
<?php
class Db
{
    private static $db=null;//Переменная подключение к базе

    //Это данные для подключения к MySQL
    private static $host='localhost'; // адрес сервера 
    private static $user='root';      // Login
    private static $pass='';          // Пароль
    private static $base='sasha';     // Имя базы данных
    
    //Подключение к базе
    public function conect()
    {
        if (self::$db===null)
        {
            try 
            {
                $opt=[
                    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,//Режим ошибки -> исключение
                    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,      //Ассоциативный массив
                    PDO::ATTR_EMULATE_PREPARES   => false,                 //Режим эмуляции
                ];

                self::$db=new 
PDO("mysql:host=".self::$host.";dbname=".self::$base.";charset=UTF8",self::$user,self::$pass,$opt);
                echo "1-е ПОДКЛЮЧЕНИЕ!!!?<br>\n";
            } 
            catch (PDOException $e) 
            {
                die('Подключение не удалось new PDO: '.$e->getMessage());//exit;
            }
        }
        else
            echo "ИСПОЛЬЗУЕМ 1-е ПОДКЛЮЧЕНИЕ..!<br>\n";

        return self::$db;
    }
    
    private function __construct() {}//Запрет создать объект
    private function __clone() {}    //Запрет клонировать объект
    private function __wakeup() {}   //Запрет  восстановлении любых соединений с базой данных
}

    
    $con=Db::conect();//1-е ПОДКЛЮЧЕНИЕ!!!
    $con=Db::conect();//ИСПОЛЬЗУЕМ 1-е ПОДКЛЮЧЕНИЕ..!
    $con=Db::conect();//ИСПОЛЬЗУЕМ 1-е ПОДКЛЮЧЕНИЕ..!

    $sth=$con->prepare("SELECT * FROM `tovary` WHERE id >= ? and id <= ?");//ИЛИ так...
    $sth->execute([1,5]);

    foreach ($sth AS $row)
        print_r($row);
?>

Автор: Алехин Геннадий (27.01.2020)

Добавить комментарий


Защитный код
Обновить

Web-технологии

Событие в JavaScript

Событие в JavaScript - это определённое действие, которые вызвано либо пользователем, либо браузером.

Например:

События мыши:

  • click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
  • contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
  • mouseover / mouseout – когда мышь наводится на / покидает элемент.
  • mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
  • mousemove – при движении мыши.

События на элементах управления:

  • submit – пользователь отправил форму
  • focus – пользователь фокусируется на элементе, например нажимает на <input type="text" />.
Подробнее...

Универсальный обход по массиву

Предлагаю вашему вниманию PHP-код - универсальный обходчик любого массива с любым представлением. Используем две функции: 1) функция с циклом (метод ArrFor() в классе) и 2) функция (как аргумент) с оформлением результатов обхода по массиву в цикле.

Подробнее...

JavaScript - основы (ES6)

ECMAScript 6 (или ES6) - это новая версия JavaScript 2015г, в которую добавлен новый функционал, которая на сегодня поддерживается всеми современными браузерами.

Переменные и комментарии

JavaScript - не строго типизированный язык. Переменные обозначаются так:

	let name='Геннадий'//Строка
	console.log(name)  //Геннадий - отображается в консоли

	var age=40      //Число(без кавычек) VAR (глобальная) - устарело, не использовать!
	console.log(age)//40 - отображается в консоли

	const prof="Программист"//Это константа
	console.log(prof)//Программист - отображается в консоли

	// - это однострочный комментарий

	/*
		тут 
		многострочные 
		комментарии
	*/

Подробнее...
Интересные статьи

Диалектические противоречия или чего хотят современные женщины

Диалектические противоречия или чего хотят современные женщины

Современная женщина, независимо от доходов и статуса, выбирает мужчину для отношений, который должен обладать определенными чертами характера. Именно наличие этих естественных черт характера у мужчины определяют его как достойного для создания пары.

Многие женщины, живущие в современном мире, традиционно имеют как минимум два взаимоисключающих убеждения в отношении взаимодействия с мужчинами для создания такого союза.

Подробнее...

Почему мужчинам опасно регистрировать брак в России

Почему мужчинам опасно регистрировать брак в России

Сразу хочу сообщить, что я не оголтелый женоненавистник или противник семейных ценностей. Я как раз наоборот - замечательно и с почтением отношусь к прекрасным дамам и являюсь сторонником традиционных семейных ценностей.

Но при этом категорически настаиваю, что официально регистрировать брак в нашей стране для мужчин катастрофически опасно и вот почему...

Подробнее...

День Победы со слезами на глазах...

День Победы со слезами на глазах...

Дорогие друзья, вот и прошёл пожалуй самый светлый праздник для нашей страны, для нашего народа - ДЕНЬ ПОБЕДЫ - 9 мая.

Но, как именно прошёл праздник 75-летия ПОБЕДЫ в этом году, я хочу напомнить сегодня, спустя 4 дня от празднования исторической даты.

У меня такое ощущение, как будто никто не заметил, что ПОЛИЦАИ по всей стране в этот день задерживали, арестовывали и штрафовали именно за память о Победе, за возложение цветов к памятникам нашим павшим героям.

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить