Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

PDO в шаблонах IPB

Здравствуйте.

Внедряю скрипт с подключением к базе через PDO в шаблон, в итоге ипб ломает подключение (по другому не знаю,как назвать) так как при открытии файла на прямую всё работает.

имею файл sb.php с функциями

$host = 'localhost';
$db   = '***';
$user = '***';
$pass = '***';
$charset = 'utf8';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES   => false,
];
$pdo = new PDO($dsn, $user, $pass, $opt);


function checkban($id) {
global $pdo;
$get_banlist   = "SELECT count(bid) as count,reason  FROM `sb_bans`  Where authid = '{$id}' and  RemoveType is null";
$stmt = $pdo->query($get_banlist);
$data = $stmt->fetchAll();
return ['banned'=>$data[0]['count'],'reason'=>$data[0]['reason']];
}

Делаю например так

$id = 'STEAM_0:1:6991218';
$checkban = checkban($id);
echo "<pre>".print_r($checkban, 1)."</pre>";

Результат работает

Array
(
   [banned] => 1
   [reason] => Guard Autoban #6991
)

 

Но при подключении этого файла в шаблон

<php>
include ('/patch/sb.php');
$checkban = checkban($id);
$check = $checkban['banned'];
</php>

Вывод в шаблон: {$check}

Ругается и выдает ошибку

Fatal error: Call to a member function query() on null in /patch/sb.php on line 22

Начинает ругаться после вставление в код $checkban = checkban($id);

И ругается на строчку

$stmt = $pdo->query($get_banlist);

 

Как подружить пдо и ипб?

Рекомендованные сообщения

$GLOBALS['pdo'] = new PDO($dsn, $user, $pass, $opt);

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.