@lookingfor2

Как подключится к БД?

<?php

$servername = "booktst.beget.tech";
$username = "имя пользователя";
$password = "пароль базы данных";
$base = "имя базы данных";

$sql = new mysqli($servername, $username, $password, $base);

if ($sql->connect_error){
die("Connection failed:" .$sql->connect_error);
}
echo "Connection successfully"

?>

Выдает эту ошибку
Connection failed:Access denied for user 'booktst'@'m2.spirit.beget.com' (using password: YES)
  • Вопрос задан
  • 2265 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Почему-то все поголовно новички задают не тот вопрос, который им нужно решить.
Вопрос же не в том "Как подключиться", а "почему у меня не работает?". А это совсем другой вопрос.

Но раз уж спрошено, то правильно подключаться вот так:
$host = 'booktst.beget.tech';
$db   = '';
$user = '';
$pass = '';
$charset = 'utf8mb4';

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
    $mysqli = mysqli_connect($host, $user, $pass, $db);
    mysqli_set_charset($mysqli, $charset);
} catch (\mysqli_sql_exception $e) {
     throw new \mysqli_sql_exception($e->getMessage(), $e->getCode());
}
unset($host, $db, $user, $pass, $charset); // we don't need them anymore


Такой вариант подключения снимет сразу целую кучу проблем:
  • пропадут все проблемы связанные с кодировками (сохранятся вопросы вместо русских букв, не работает json_encode()...)
  • пропадут бесполезные сообщения об ошибках как mysqli_fetch_assoc() expects parameter..., место них будет выдаваться нормальное объяснение прочему запрос упал
  • сайт не будет позориться светя ошибками на весь интернет если упала база данных
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
И что вы не поняли в тексте ошибки? Пользователю booktst запрещён доступ на сервер m2.spirit.beget.com с использованием указанного им пароля.
Все вопросы к тому, кто поднимал сервер MySQL, заводил там пользователя и назначал ему права.
Ответ написан
Ваш ответ на вопрос

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

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