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


