В коде страницы выглядит так. Используются функция в файле mysql_con.php и класс с несколькими функциями в файле mysql_oper.php.
require __DIR__ . 'mysql_con.php'; $db = DB(); require __DIR__ . 'mysql_oper.php'; $app = new TestClass($db); $res = $app->Funname($username);
mysql_con.php – создаем коннект к BD.
<?php define('HOST', 'localhost'); define('USER', 'root'); define('PASSWORD', 'pass'); define('DATABASE', 'db_name'); define('CHARSET', 'utf8'); function DB() { static $instance; if ($instance === null) { $opt = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => FALSE, ); $dsn = 'mysql:host=' . HOST . ';dbname=' . DATABASE . ';charset=' . CHARSET; $instance = new PDO($dsn, USER, PASSWORD, $opt); } return $instance; } ?>
mysql_oper.php – забираем данные.
<?php class TestClass { protected $db; function __construct($db) { $this->db = $db; } function __destruct() { $this->db = null; } public function Funname($username) { $query = $this->db->prepare("SELECT * FROM table WHERE username=:username"); $query->bindParam("username", $username, PDO::PARAM_STR); $query->execute(); if ($query->rowCount() > 0) { return true; } else { return false; } } }
Разное
Ошибка “PDOException: could not find driver” решается sudo apt-get install php7.2-mysql