bossa2006
15.07.2018 10:23
0
Здравствуйте, прошу помощи
- У меня есть 2 базы, по структуре - одинаковые.
- Есть 1 пользователь который имеет на обе базы
Задача - обновить некоторые таблицы (например атрибуты) в базе Тиваз данными из таблиц что в базе Беркани.
В самом SQL делаю запрос типа

UPDATE`lednaill_tiwtest`.`oc_attribute` a,
 `lednaill_12`.`oc_attribute` b
SET
a.attribute_id = b.attribute_id,
 a.attribute_group_id = b.attribute_group_id,
a.sort_order = b.sort_order
WHERE a.attribute_id = b.attribute_id;


Запрос рабочий и все гуд - но хочу запросы (и этот и для других таблиц по типу) записать в файл что бы по cron-у запускать в определенное время.
И вот здесь загвоздка - как правильно записать запросы в выполняемый файл ?
rudenko
15.07.2018 10:36
0
<?php
$link = mysqli_connect("mysql_host", "my_user", "my_password", "my_db");

if(!$link){
    echo"Ошибка: Невозможно установить соединение с MySQL." . PHP_EOL;
    echo"Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL;
    echo"Текст ошибки error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$query = "
UPDATE `lednaill_tiwtest`.`oc_attribute` a,
`lednaill_12`.`oc_attribute` b
SET
a.attribute_id = b.attribute_id,
a.attribute_group_id = b.attribute_group_id,
a.sort_order = b.sort_order
WHERE a.attribute_id = b.attribute_id
"
;
mysqli_query($link, $query);

?>
bossa2006
15.07.2018 10:44
0
Илья, спасибо за ответ, сейчас буду пробовать
Отпишу получилось ли
bossa2006
15.07.2018 12:21
0
Результат
Создала bazab.php в котором код от Ильи
файлик лежит в корневой директории сайта
даю в крон запрос :
/usr/bin/mysql -h тут_сервер -u логин --password=пароль название_базы < /home/..../www/bazab.php

Выдает ошибку:
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php
$link = mysqli_connect("сервер что указан", "логин", "пароль' ... at line 1
cdn.adm.tools/forum_message/0462/72/bazab.php
rudenko
15.07.2018 12:54
1
/usr/bin/mysql -h тут_сервер -u логин --password=пароль название_базы < /home/..../www/bazab.php © bossa2006


Для вызова php файла нужно использовать:
/usr/local/bin/php /home/..../www/bazab.php


А вы пытаетесь его как дамп в mysql впихнуть.
bossa2006
15.07.2018 13:02
0
Понятно - поменяли запрос, жду
Отпишу
bossa2006
15.07.2018 13:25
0
И так - получаю
Ошибка: Невозможно установить соединение с MySQL.
Код ошибки errno: 0
Текст ошибки error:
bossa2006
15.07.2018 21:07
0
Не розумію..
Пише крон що виконано, на почту ніякі помилки не приходять
В кроні статус /usr/local/php56/bin/php /home/***/www/bazab.php
Время выполнения: 0.19782 сек.
Але данних в таблиці немає (((
bossa2006
15.07.2018 22:23
1
Все працює)
Тема закрита.