#php
#php
Вопрос:
Я создал две базы данных и объединил две таблицы из двух БД. Запрос работает на локальном, но не работает на реальном сервере и показывает ошибку, например
SQLSTATE[42000]: синтаксическая ошибка или нарушение доступа: 1142 Пользователю отказано в выборе команды
и мой код для запроса объединения :
$holiday_workings = $this->CompoffEntry->find('all', array(
'joins' => array(
array(
'table' => 'Meds.employee_details',
'alias' => 'Emp_det',
'type' => 'INNER',
'foreignKey' => false,
'conditions' => array('CompoffEntry.worked_on_period' => $holiday_period,'CompoffEntry.worked_on_date != ' => null,'CompoffEntry.employee_detail_id = Emp_det.employee_detail_id', 'Emp_det.emp_status = "A"',($department != 'all') ? 'Emp_det.department_id = '.$department : '',($roleId == 5) ? 'reporting_id = '.$user_id : ''),
)
)
));
Комментарии:
1. Ошибка довольно понятна. «ПОЛЬЗОВАТЕЛЮ отказано в выборе команды»
Ответ №1:
При объединении таблиц, пожалуйста, попробуйте использовать внешние ключи, чтобы упростить вашу работу
SELECT *
FROM Emp_det
JOIN table_1 ON CompoffEntry.employee_detail_id = Emp_det.employee_detail_id
WHERE Emp_det.emp_status = "A"
AND 'Emp_det.department_id = '.$department : ''
AND ($roleId == 5) ? 'reporting_id = '.$user_id : ''
До тех пор, пока ваши переменные хорошо инициализированы и присвоены значения, код должен работать должным образом. Спасибо.