У меня есть сайт Drupal 7, на котором установлена настраиваемая тема, и мы также добавили некоторые новые таблицы и расширили некоторые другие. Прямо сейчас я создал Ubercart для продажи наших продуктов на основе таксономии. Когда покупка завершена, мне нужно обновить пользовательскую таблицу в MySQL, поэтому я сделал proc для этого.Как обновить базу данных после транзакции?
В MySQL создан proc, который будет выполнять обновление необходимых мне таблиц, все, что мне нужно передать в proc, это uid (то же, что и в таблице пользователей), и идентификатор выбранной таксономии во время покупки.
Я создал следующий код, чтобы позвонить, но я не уверен, что лучший способ передать в uid и tid для proc? Должен ли я использовать правила в Drupal?
<?php
$mysqli = new mysqli("mysite.com", "user", "password", "db1");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
if (!$mysqli->query("CALL UpdateUserDestList(uID, tID")) {
echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
?>
Я проверяю в этом крючке, и я не думаю, что это на самом деле вызывается, хотя документация говорит, что это делает. Даже если я помещаю там плохой код и прохожу процесс проверки, я не получаю никаких ошибок. – Baub
. Несколько вещей, которые стоит попробовать: 1) загрузить страницу модуля, чтобы убедиться, что drupal заметил новый крючок. 2) дважды проверьте правильность написания имени крюка: [имя_компьютера] _uc_checkout_complete(). – acrosman