Подключение к 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); ?>