2016-09-26 2 views
4

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

$start = strtotime($this->input->post('leave_from')); 
$end = strtotime($this->input->post('leave_to')); 
$days_between = ceil(abs($end - $start)/86400 + 1); 

if($this->input->post('leave_type') == 3){ 
    $days_between = 0.5; 
} 

Я хочу сделать эту динамику, как сделать это m использованием запроса.

$q = "set leave_applications.days = '0.5' on leave_applications where leave_type = 3 "; 
$days_between = $this->leave_application_model->q_single($q); 

не знаю, является ли это правильный путь или нет, но он выводит сообщение об ошибке

неизвестной переменной системы «0,5» на leave_applications «дни» набор leave_applications.days = где leave_type = 3

Помогите мне, как это сделать. Спасибо.

+0

У вас есть правильный ответ? Он не выглядит полностью сформированным для меня, и ошибка указала, что leave_applications.days не существует. – atoms

+0

дней существует единственная дающая ошибка, когда я выбираю только leave_type = 3, а оставшиеся работают нормально – Ghugu

+0

, пожалуйста, введите правильный формат запроса – Ghugu

ответ

1
UPDATE `leave_applications` SET `days` = '0.5' WHERE `leave_type` = 3 
+0

. Pl дает некоторые пояснения к вашему ответу. –

+0

@SahilMittal похоже, что ваш запрос забыл большую часть его начальной части. целая «таблица обновлений» отсутствует. Если вы только запускаете «SET», mysql «думает», вы хотите установить переменную. Поэтому я предположил, что вы просто пропустили эту часть. Надеюсь, что это прояснит ситуацию – chickenchilli

Смежные вопросы