Ошибка создания базы данных SQL в PHP (несколько соединений SQL) - PullRequest
0 голосов
/ 02 ноября 2018

Я сделаю все возможное, чтобы объяснить процесс, на который рассчитывали, используя код и возникновение ошибки.

Сначала я создаю базу данных для каждого участника, который присоединяется и хочет хранить информацию. Итак, у меня есть первое соединение, чтобы проверить сеанс, войти в систему и сохранить имя пользователя, после чего я заканчиваю соединение. Следующее соединение идет в корень, чтобы создать пользователя и базу данных в SQL. После этого я пробую третье соединение и получаю следующую ошибку

    Warning: mysqli_connect(): (HY000/1045): Access denied for user 'DB_USERNAME'@'localhost' (using password: YES) in C:\xampp\htdocs\managementportal.php on line 38
ERROR: Could not connect. Access denied for user 'DB_USERNAME'@'localhost' (using password: YES)

Похоже, что sql-запрос не работает таким образом, что создает пользователя / базу данных, и поэтому нет ничего для соединения, что автоматически выдает ошибку соединения.

PHP-код

    <?php 

$link = mysqli_connect("localhost", "php", "test", "php");

if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}

session_start();

if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: members.php");
exit;
}
$username = trim($_SESSION['username']);

 mysqli_close($link);   


$slink = mysqli_connect('localhost', 'root', '');

define('DB_SERVER', 'localhost');
define('DB_USERNAME', '$username');
define('DB_PASSWORD', 'test');
define('DB_NAME', '$username');



$createdb = "CREATE USER IF NOT EXISTS 'DB_USERNAME'@'localhost' IDENTIFIED VIA mysql_native_password using 'DB_PASSWORD';
GRANT ALL PRIVELGES ON *.* TO 'DB_USERNAME'@'localhost'
REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS 'DB_NAME'; GRANT ALL PRIVILEGES ON 'DB_USERNAME' *.* TO 'DB_USERNAME'@'localhost'; " ;

mysqli_query($slink, $createdb);    

  mysqli_close($slink);

$ulink = mysqli_connect('localhost', 'DB_USERNAME', 'DB_PASSWORD', 'DB_NAME');

if($ulink === false){
        die("ERROR: Could not connect. " . mysqli_connect_error($ulink));
}


?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...