@danyfir

Как подключиться к БД с другого сайта?

Есть два сайта: site1.ru и site2.ru
У каждой своя БД: bd1 и bd2
Находится все на одном сервере

Мне необходимо на site1.ru подключиться к bd2 и выполнить там UPDATE ячейки через php файл
Подключиться вроде получается:
$db = new mysqli("localhost", "bd2", "123", "bd2");

А вот что-то сделать в ней - нет:
$result = mysqli_query ($db, "SELECT * FROM sait2 WHERE meta_key='yacheika' AND meta_value='1'");
update_post_meta($postID, 'payment', '0');

Ничего не делает с ней, ошибки тоже не выдает

Понимаю, что проблема в том, что я из ВНЕ пытаюсь подключиться к БД другого сайта (хоть и своего, хоть и на одном сервере находящегося, у них один общий localhost). Пытался обойти эту проблему через подключение файла со второго сайта, где уже выполняются операции с БД
include('/home/saite2/public_html/bd.php');
//и еще пробовал так
require 'https://saite2.ru/bd.php';


Но все безуспешно, похоже функции все равно выполняются из под site1

P.S.: Все примеры ради примера, настоящий код подобный, но рабочий
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
Если бы это был мой проект, я бы не допускал вмешательства одного сайта в БД другого.
Более правильный путь - на втором сайте сделать точку входа (защищенную, например, длинным ключом), при запросе на которую (через curl, например) первый сайт мог бы изменить определенные значения.

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

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

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