4
由於原因,我需要傳遞給where
條件的字符串而不是行的ID。問題在於條件只能捕獲選定值的第一個單詞。例如,看一下這段代碼:SQL條件只接收字段值的一個字
<select id="brand" name="brand" required>
<option value="Lorem Ipsum Dolor" selected>Lorem Ipsum Dolor</option>
</select>
然後,通過呼應last_query()
,病情會顯示:
... WHERE `table.column` = `Lorem` ...
而不是整個value
。
這是我的查詢:
public function find_id_ano_modelo($marca, $modelo, $ano, $comb)
{
$this->db
->select('ano_modelo.id')
->join('modelo', 'modelo.id = ano_modelo.id_modelo')
->join('marca', 'marca.id_marca = modelo.id_marca')
->where('marca.id_marca', $marca)
->where('modelo.modelo', $modelo)
->where('ano_modelo.ano', $ano)
->where('ano_modelo.combustivel', $comb)
->where('marca.tipo = 1');
$query = $this->db->get($this->table);
echo $this->db->last_query();
if ($query) {
foreach ($query->result_array() as $q) {
return $q['id'];
}
}
}
這被稱爲在我edit
方法從我的控制器:
...
$marca = $this->input->post('id_marca');
$modelo = $this->input->post('id_modelo');
$ano = $this->input->post('ano');
$comb = $this->input->post('combustivel');
$data['id_ano_modelo'] = $this->Modelos_model->find_id_ano_modelo($marca, $modelo, $ano, $comb);
....
你是如何構建查詢的?你在哪裏/如何獲得用於構建它的值? –
@AlexTartan查詢是按照文檔解釋的方式構建的,並且值從表單中以POST形式檢索。請看我的編輯。 – mfgabriel92
你可以'echo $ marca;'(或者那個'