我希望WHERE數據選擇$ find,但它(WHERE)在下面的查詢不起作用,我的輸出是There is not
,如何解決它?不工作在哪裏在SQL INNER JOIN?
$find="hello";
$query = $this->db->query('
SELECT tour_foreign.name,
tour_foreign_residence.name_re,
tour_foreign_airline.name_airline,
tour_foreign.service,
tour_foreign.date_go,
tour_foreign.date_back,
tour_foreign.term
FROM tour_foreign
INNER JOIN tour_foreign_residence
ON (tour_foreign.id = tour_foreign_residence.relation)
INNER JOIN tour_foreign_airline
ON (tour_foreign.id = tour_foreign_airline.relation)
WHERE tour_foreign.name LIKE "%' . $find . '%"
OR tour_foreign_residence.name_re LIKE "%' . $find . '%"
');
if ($query->num_rows() > 0) {
foreach ($query->result() as $val) {
echo $val->name . '<br>';
}
} else {
echo 'There is not';
}
'JOIN'應該只有1個'ON',:'JOIN ... ON(... AND ...)'。你有2個:'加入...開...並且...'。這只是一個印刷錯誤?另外,在WHERE之前有一個逗號也是語法錯誤。 – a1ex07
乍一看,你的SQL語句看起來沒問題。我的建議是:迴應SQL語句,而不是'不存在'來查看是否還有其他問題(數據庫中沒有數據等)。 – Bjoern
賓果。 a1ex07有問題:您的連接子句中出現語法錯誤,導致整個查詢失敗。 –