Вставьте другую базу данных на страницу WordPress и управляйте запросами к базе данных с помощью метода GET - PullRequest
0 голосов
/ 18 июня 2020

Я использую WordPress на своем веб-сайте. У меня есть другая отдельная база данных на веб-сайте, заполненная данными, которые я sh могу запросить прямо на странице WordPress, которую я создал. Я прочитал форумы и все еще не могу найти метод, который работает.

До сих пор я сделал следующее:

Установил PHP плагин Code Snippets, который позволяет мне встраивать PHP на страницах WordPress. Простой код вроде echo "Hello, World!"; отлично работает при встраивании на страницу.

Похоже, проблема связана с подключением к базе данных. Образец моего кода ниже. Мне также нужно будет иметь возможность управлять запросами к базе данных с помощью метода GET. Это возможно? Я не хочу, чтобы мне приходилось переписывать свое приложение базы данных, чтобы включить его на страницу WordPress.

Приведенный ниже код просто встраивается на страницу WordPress с помощью плагина.

// Set the database access information as constants:
DEFINE ('DB_USER', 'admin');
DEFINE ('DB_PASSWORD', '1234');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'example_database_name');

// Make the connection:
$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ();

// Set the encoding...
mysqli_set_charset($dbc, 'utf8');

// Process user selection of surface type
if(isset($_GET['surface_type'])) {
    $form_error = false;

    $surface_type = mysqli_real_escape_string($dbc, trim($_GET["surface_type"]));   

    if ($surface_type == "all") {
        // User wants to see all sheets brand
        $sql3 = "SELECT * FROM sheet_brands ORDER BY brand_name ASC";
    } else {
        // User has selected a certain surface type
        $sql3 = "SELECT * FROM sheet_brands WHERE surface_type=$surface_type ORDER BY brand_name ASC";
    }

    // User has selected a sheet brand
    if (isset($_GET['brand_name'])) {
        $brand_name = mysqli_real_escape_string($dbc, trim($_GET["brand_name"]));  
    }
}

1 Ответ

0 голосов
/ 18 июня 2020

Вы должны вручную создать новый экземпляр класса wpdb с правильными настройками для другой вашей базы данных.

Со страницы кодекса wpdb:

** Дополнительная информация ** Созданный экземпляр класса wpdb может взаимодействовать с любым количеством таблиц, но только с одной базой данных одновременно. В редком случае вам нужно подключиться к другой базе данных, создайте экземпляр вашего собственного объекта из класса wpdb с вашей собственной информацией о подключении к базе данных.

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