Задать вопрос
@Soolbernss

Почему PHP не подключается к базе данных?

6402e6d9a70a6846107098.png

config_db.php:

<?php
return [
    'dsn' => 'mysql:host=localhost;dbname=test;charset=utf8',
    'user' => 'root',
    'password' => '',
];


Db.php:

<?php
namespace wfm;
use RedBeanPHP\R;
class Db
{
    use TSingleton;
    private function __construct()
    {
        $db = require_once CONFIG . '/config_db.php';
        R::setup($db['dsn'], $db['user'], $db['password']);
        if (!R::testConnection()) {
            throw new \Exception('No connection to DB', 500);
        }
        R::freeze(true);
        if (DEBUG) {
            R::debug(true, 3);
        }
    }

}
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@kalsc12345
Неизвестный человек.
Начал код замечательно.
Но для начала тебе бы поизучать библиотеки.
Чутка подкорректировал код:
config_db.php
return [
    'dsn' => 'mysql:host=localhost;dbname=test;charset=utf8',
    'user' => 'root',
    'password' => '',
];


Db.PHP

<?php
namespace wfm;

require_once 'vendor/autoload.php';

use RedBeanPHP\R;

class Db
{
    use TSingleton;

    private function __construct()
    {
        if (!defined('CONFIG')) {
            define('CONFIG', __DIR__ . '/config');
        }

        if (!defined('DEBUG')) {
            define('DEBUG', false);
        }

        $db = require CONFIG . '/config_db.php';
        R::setup($db['dsn'], $db['user'], $db['password']);

        if (!R::testConnection()) {
            throw new \Exception('No connection to DB', 503);
        }

        R::freeze(true);

        if (DEBUG) {
            R::debug(true, 3);
        }
    }
}


Сонный после работы проснулся, так что может быть я ошибки допустил.

Кстати 19 строка же это знак: }
Лишняя указывает обозначает
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы