Помощь по скриптам | подключение к базе данных
ребят всем привет.
никогда не имел с pdo может ли кто объяснить нормально в какой строчке надо прописать данные от базы данных?
и пример хотябы одного параметра.
<?
if (!class_exists('PDO'))
die('Fatal Error: Для работы нужна поддержка PDO.');
// --------------------------- Класс для работы с базами данных -------------------------------//
class PDO_ extends PDO {
function __construct($dsn, $username, $password) {
parent::__construct($dsn, $username, $password);
$this -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$this -> setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
}
function prepare($sql, $params = []) {
$stmt = parent::prepare($sql, [
PDO::ATTR_STATEMENT_CLASS => ['PDOStatement_']]);
return $stmt;
}
function query($sql, $params = []) {
$stmt = $this -> prepare($sql);
$stmt -> execute($params);
return $stmt;
}
function querySingle($sql, $params = []) {
$stmt = $this -> query($sql, $params);
return $stmt -> fetchColumn(0);
}
function queryFetch($sql, $params = []) {
$stmt = $this -> query($sql, $params);
return $stmt -> fetch();
}
function queryCounter() {
return self::$counter;
}
}
// ----------------------------------------------------//
class PDOStatement_ extends PDOStatement {
function execute($params = []) {
if (func_num_args() == 1) {
$params = func_get_arg(0);
} else {
$params = func_get_args();
}
if (!is_array($params)) {
$params = [$params];
}
parent::execute($params);
return $this;
}
function fetchSingle() {
return $this -> fetchColumn(0);
}
function fetchAssoc() {
$this -> setFetchMode(PDO::FETCH_NUM);
$data = [];
while ($row = $this -> fetch()) {
$data[$row[0]] = $row[1];
}
return $data;
}
}
class DB {
static $dbs;
public function __construct() {
try {
self :: $dbs = new PDO_('mysql:dbname=$bd;host=$host', '$nev', '$pas');
self :: $dbs -> exec('SET CHARACTER SET utf8');
self :: $dbs -> exec('SET NAMES utf8');
}
catch (PDOException $e) {
die('Ошибка подключения к БД: ' . $e -> getMessage());
}
}
}
error_reporting(0);
$db = new DB();
?>
никогда не имел с pdo может ли кто объяснить нормально в какой строчке надо прописать данные от базы данных?
и пример хотябы одного параметра.
<?
if (!class_exists('PDO'))
die('Fatal Error: Для работы нужна поддержка PDO.');
// --------------------------- Класс для работы с базами данных -------------------------------//
class PDO_ extends PDO {
function __construct($dsn, $username, $password) {
parent::__construct($dsn, $username, $password);
$this -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$this -> setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
}
function prepare($sql, $params = []) {
$stmt = parent::prepare($sql, [
PDO::ATTR_STATEMENT_CLASS => ['PDOStatement_']]);
return $stmt;
}
function query($sql, $params = []) {
$stmt = $this -> prepare($sql);
$stmt -> execute($params);
return $stmt;
}
function querySingle($sql, $params = []) {
$stmt = $this -> query($sql, $params);
return $stmt -> fetchColumn(0);
}
function queryFetch($sql, $params = []) {
$stmt = $this -> query($sql, $params);
return $stmt -> fetch();
}
function queryCounter() {
return self::$counter;
}
}
// ----------------------------------------------------//
class PDOStatement_ extends PDOStatement {
function execute($params = []) {
if (func_num_args() == 1) {
$params = func_get_arg(0);
} else {
$params = func_get_args();
}
if (!is_array($params)) {
$params = [$params];
}
parent::execute($params);
return $this;
}
function fetchSingle() {
return $this -> fetchColumn(0);
}
function fetchAssoc() {
$this -> setFetchMode(PDO::FETCH_NUM);
$data = [];
while ($row = $this -> fetch()) {
$data[$row[0]] = $row[1];
}
return $data;
}
}
class DB {
static $dbs;
public function __construct() {
try {
self :: $dbs = new PDO_('mysql:dbname=$bd;host=$host', '$nev', '$pas');
self :: $dbs -> exec('SET CHARACTER SET utf8');
self :: $dbs -> exec('SET NAMES utf8');
}
catch (PDOException $e) {
die('Ошибка подключения к БД: ' . $e -> getMessage());
}
}
}
error_reporting(0);
$db = new DB();
?>
Класс для работы с базами данных --
не тот файл
не тот файл
Мда ещё сверху класс после класс пдо прям вы профи
блин а как быть?
там даже во всех файлах инклудом подключается всего 3 файла
шапка вот тот файл что выше и 1 системный но там вообще ни строчки с базой данных
там даже во всех файлах инклудом подключается всего 3 файла
шапка вот тот файл что выше и 1 системный но там вообще ни строчки с базой данных
на просторах интернета нашёл вот этот двиг
vendettawm
и на сайте поясняловка есть что
надо данные от базы прописать в том файле что в первом посте.
________
посл. ред. 28.06.2019 в 20:16; всего 1 раз(а); by deron
vendettawm
и на сайте поясняловка есть что
надо данные от базы прописать в том файле что в первом посте.
________
посл. ред. 28.06.2019 в 20:16; всего 1 раз(а); by deron
deron, иди учи pdo)
давай подключу
как будто вы не можете просто написать 1 лишь функция?
________
посл. ред. 28.06.2019 в 20:48; всего 1 раз(а); by JMCode
function db() {
static $pdo;
if(is_null($pdo)) {
$host = config('connect:host');
$name = config('connect:name');
$user = config('connect:user');
$pass = config('connect:pass');
$pdo = new PDO("mysql:host={$host};dbname={$name}", $user, $pass);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->query("SET NAMES utf8;");
$pdo->query("SET wait_timeout=1200;");
}
return $pdo;
}
// Делаем запрос
$select = db()->prepate('select table where 'name' = :name');
$select->execute([':name' => 'Бог запрос']);
if($bog = $select->fetch()) {
// работаем
}
________
посл. ред. 28.06.2019 в 20:48; всего 1 раз(а); by JMCode
DELETED
28 июня 2019, в 21:07
Delete