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

Как подключиться к базе данных другого сайта?

Подскажите пожалуйста,
как подключиться к базе данных другого сайта?

- есть сайт на Wordpress/Woocommerce на отдельном VPS
- есть база данных на другом домене с именем "hosting_subscribers" (создал в бегете на хостинге)
- создал таблицу в базе данных "subscribed_users_table"
- добавил форму подписки на новости
- хочу чтобы при клике данные сохранялись в таблице "subscribed_users_table"
- при попытке отправки запроса выходит сообщение "mysite.ru is currently unable to handle this request."

Форма на сайте:
<div class="subs_form">
          <form id="subscribe-form" action="/wp-content/themes/theme-name/subscribe-news/subscribe-handler.php" method="POST">
              <input type="email" class="subs_email" name="email" placeholder="email *" required>
              <input type="text" class="subs_name" name="name" placeholder="name">
              <input type="text" class="subs_city" name="city" placeholder="city">
              <input type="date" class="subs_birthday" name="birthday" placeholder="birthday">
              <input type="submit" class="subs_submit" value="Subscribe">
          </form>
      </div>


обработчик:
<?php
// Database connection
$conn = establish_connection();

  function establish_connection() {
    $servername = "0000000.beget.tech";
    $username = "0000000_hosting_subscribers";
    $password = "5442-3233-3232-9548";
    $dbname = "0000000_hosting_subscribers";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    return $conn;
  }

  // Close the database connection
  $conn->close();

// Check if form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Retrieve form data
    $email = $_POST['email'];
    $name = $_POST['name'];
    $city = $_POST['city'];
    $birthday = $_POST['birthday'];

    // Check if email is not empty and doesn't already exist
    if (!empty($email)) {
        $checkEmailQuery = "SELECT * FROM subscribed_users WHERE email = '$email'";
        $result = $conn->query($checkEmailQuery);

        if ($result->num_rows > 0) {
            echo "This email already exists.";
        } else {
            // Perform database insertion
            $sql = "INSERT INTO subscribed_users (email, name, city, birthday) 
                    VALUES ('$email', '$name', '$city', '$birthday')";

            if ($conn->query($sql) === TRUE) {
                echo "Subscription successful!";
            } else {
                echo "Error: " . $sql . "<br>" . $conn->error;
            }
        }
    }
}

// Close the database connection
$conn->close();
?>
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Средний 7 комментариев
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Чтобы подключиться к базе данных расположенной на другом сервере нужно что бы:
1. Была сетевая доступность по порту на котором висит MySQL (обычно это 3306)
2. Пользователю MySQL которым вы логинитесь было разрешено логиниться с не локального хоста)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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