PHP работа с MySQL используя PDO

В коде страницы выглядит так. Используются функция в файле 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

Leave a Reply