Обучение/Помощь новичкам | Как использовать?
php
class db { public static $counter = 0; protected static $instance = null; public function __construct() {} public function __clone(){} public static function instance() { if (self::$instance === null) { $opt = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8', PDO::ATTR_EMULATE_PREPARES => FALSE,); try { $dsn = 'mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset='.DB_CHAR; self::$instance = new PDO($dsn, DB_USER, DB_PASS, $opt); } catch (PDOException $e) { die("Идёт обновление"); } } return self::$instance; } public static function __callStatic($method, $args) { if ($method == 'query' || $method == 'execute') static::$counter++; return call_user_func_array(array(self::instance(), $method), $args); } public static function run($sql, $args = array()) { static::$counter++; $stmt = self::instance()->prepare($sql); $stmt->execute($args); return $stmt; } } ________
посл. ред. 26.11.2019 в 09:57; всего 2 раз(а); by CaMnoCe6e
CaMnoCe6e , читай внимательно
https://www.php.net/manual/ru/pdo.prepare.php
https://www.php.net/manual/ru/pdo.prepare.php
Avenax , вы имели ввиду вот это???
а также помогает избежать SQL-иньекций, так как нет необходимости экранировать передаваемые параметры.
а также помогает избежать SQL-иньекций, так как нет необходимости экранировать передаваемые параметры.
CaMnoCe6e (26.11.2019 в 10:28)
Avenax , вы имели ввиду вот это???
а также помогает избежать SQL-иньекций, так как нет необходимости экранировать передаваемые параметры.
Avenax , вы имели ввиду вот это???
а также помогает избежать SQL-иньекций, так как нет необходимости экранировать передаваемые параметры.
совершенно верно