Обучение/Помощь новичкам | Сторонее БД
В общем ситуация такова,есть код,есть в нем подключение БД но сама бд находиться на другом сервере!Ошибка в 12 строке ,ее можно как то исправить? вот строка в которой ошибка Ну и сама ошибка
________
посл. ред. 02.01.2026 в 17:45; всего 2 раз(а); by Шершень
php
<?php error_reporting(E_ALL); ini_set('display_errors', 1); // Данные для подключения к базе данных $host = "127.0.0.1"; // IP вашего сервера $db_user = "gs103429"; // Имя пользователя вашей базы данных $db_password = "raritet777777"; // Пароль для доступа $dbname = "gs103429"; // Название базы данных // Подключение к базе данных $db = new mysqli($host, $db_user, $db_password, $dbname, 3306); // Проверка на ошибки при подключении if ($db->connect_error) { die("Ошибка подключения к базе данных: " . $db->connect_error); } // Проверка данных из формы if (isset($_POST['nickname']) && isset($_POST['login']) && isset($_POST['old_password']) && isset($_POST['new_password'])) { $nickname = $_POST['nickname']; // Имя пользователя $login = $_POST['login']; // Почта пользователя (столбец login) $old_password = $_POST['old_password']; // Старый пароль $new_password = $_POST['new_password']; // Новый пароль // Проверка старого пароля по имени пользователя и почте $query = $db->prepare("SELECT password FROM nrp_players WHERE nickname = ? AND login = ?"); $query->bind_param("ss", $nickname, $login); $query->execute(); $result = $query->get_result(); if ($result->num_rows > 0) { $row = $result->fetch_assoc(); if ($row['password'] == $old_password) { // Старый пароль верен, обновляем на новый $update_query = $db->prepare("UPDATE nrp_players SET password = ? WHERE nickname = ? AND login = ?"); $update_query->bind_param("sss", $new_password, $nickname, $login); $update_query->execute(); if ($update_query->affected_rows > 0) { echo "Пароль успешно изменен!"; } else { echo "Не удалось изменить пароль. Попробуйте снова."; } } else { echo "Старый пароль неверен."; } } else { echo "Пользователь с таким никнеймом и почтой не найден."; } $db->close(); } else { echo "Пожалуйста, заполните все поля."; } ?> php
$db = new mysqli($host, $db_user, $db_password, $dbname, 3306); php
Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'gs103429'@'localhost' (using password: YES) in /var/www/drymlu02/data/www/country.vaki.pro/change_password.php:12 Stack trace: #0 /var/www/drymlu02/data/www/country.vaki.pro/change_password.php(12): mysqli->__construct() #1 {main} thrown in /var/www/drymlu02/data/www/country.vaki.pro/change_password.php on line 12 ________
посл. ред. 02.01.2026 в 17:45; всего 2 раз(а); by Шершень
________
посл. ред. 02.01.2026 в 17:52; всего 1 раз(а); by ssh
так я указывал,нифига не работает
указать ip другого сервера без https://
В общем ситуация такова,есть код,есть в нем подключение БД но сама бд находиться на другом сервере!Ошибка в 12 строке ,ее можно как то исправить?
php
<?php error_reporting(E_ALL); ini_set('display_errors', 1); // Данные для подключения к базе данных $host = "127.0.0.1"; // IP вашего сервера $db_user = "gs103429"; // Имя пользователя вашей базы данных $db_password = "raritet777777"; // Пароль для доступа $dbname = "gs103429"; // Название базы данных // Подключение к базе данных $db = new mysqli($host, $db_user, $db_password, $dbname, 3306); // Проверка на ошибки при подключении if ($db->connect_error) { die("Ошибка подключения к базе данных: " . $db->connect_error); } // Проверка данных из формы if (isset($_POST['nickname']) && isset($_POST['login']) && isset($_POST['old_password']) && isset($_POST['new_password'])) { $nickname = $_POST['nickname']; // Имя пользователя $login = $_POST['login']; // Почта пользователя (столбец login) $old_password = $_POST['old_password']; // Старый пароль $new_password = $_POST['new_password']; // Новый пароль // Проверка старого пароля по имени пользователя и почте $query = $db->prepare("SELECT password FROM nrp_players WHERE nickname = ? AND login = ?"); $query->bind_param("ss", $nickname, $login); $query->execute(); $result = $query->get_result(); if ($result->num_rows > 0) { $row = $result->fetch_assoc(); if ($row['password'] == $old_password) { // Старый пароль верен, обновляем на новый $update_query = $db->prepare("UPDATE nrp_players SET password = ? WHERE nickname = ? AND login = ?"); $update_query->bind_param("sss", $new_password, $nickname, $login); $update_query->execute(); if ($update_query->affected_rows > 0) { echo "Пароль успешно изменен!"; } else { echo "Не удалось изменить пароль. Попробуйте снова."; } } else { echo "Старый пароль неверен."; } } else { echo "Пользователь с таким никнеймом и почтой не найден."; } $db->close(); } else { echo "Пожалуйста, заполните все поля."; } ?> php
$db = new mysqli($host, $db_user, $db_password, $dbname, 3306); php
Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'gs103429'@'localhost' (using password: YES) in /var/www/drymlu02/data/www/country.vaki.pro/change_password.php:12 Stack trace: #0 /var/www/drymlu02/data/www/country.vaki.pro/change_password.php(12): mysqli->__construct() #1 {main} thrown in /var/www/drymlu02/data/www/country.vaki.pro/change_password.php on line 12
это игровой хост там хз как это сделать?
сайт поставить могу,бд подключить могу,всеееее))) и не в том возрасте уже я что бы ,что то изучать
да и некогда
________
посл. ред. 02.01.2026 в 21:28; всего 1 раз(а); by Шершень
я на прямую не занимался изучением php и т.д ну и не планирую ничего изучать
сайт поставить могу,бд подключить могу,всеееее))) и не в том возрасте уже я что бы ,что то изучать
да и некогда
Может и порт не 3306
1. Вариант
$host = "123.123.123.123"; // Замените на реальный IP удаленного сервера
2. Вариант
На сервере с БД : Открыть файл конфигурации (обычно /etc/mysql/my.cnf или /etc/mysql/mysql.conf.d/mysqld.cnf).
3. Вариант
Найти строку bind-address = 127.0.0.1 и заменить её на bind-address = 0.0.0.0 (или закомментировать её символом #).
Перезапустить MySQL: sudo systemctl restart mysql.
4. Вариант
Убедитесь, что порт 3306 открыт на удаленном сервере для входящих соединений.
Если на сервере стоит ufw, выполните: sudo ufw allow 3306/tcp.