Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Панель управления
  • Русский
  • Українська
  • UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  Vodafone
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

MySQL. Запрос на обновление таблиц БД с помощью файла PHP


bossa2006
2 года
0
Запрос на обновление таблиц БД с помощью файла PHP

Здравствуйте, прошу помощи
- У меня есть 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
2 года
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
2 года
0

Илья, спасибо за ответ, сейчас буду пробовать
Отпишу получилось ли

bossa2006
2 года
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
bazab.php

rudenko
2 года
1

/usr/bin/mysql -h тут_сервер -u логин --password=пароль название_базы < /home/..../www/bazab.php © bossa2006

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

А вы пытаетесь его как дамп в mysql впихнуть.

bossa2006
2 года
0

Понятно - поменяли запрос, жду
Отпишу

bossa2006
2 года
0

И так - получаю
Ошибка: Невозможно установить соединение с MySQL.
Код ошибки errno: 0
Текст ошибки error:

bossa2006
2 года
0

Не розумію..
Пише крон що виконано, на почту ніякі помилки не приходять
В кроні статус /usr/local/php56/bin/php /home/***/www/bazab.php
Время выполнения: 0.19782 сек.
Але данних в таблиці немає (((

bossa2006
2 года
1

Все працює)

Участвовать в общении на этом форуме могут только зарегистрированные пользователи.