我在我的數據庫書籍,作者,發佈中有三個表格...我希望用戶可以在三個表格中搜索whith,如果他編寫任何相關的詞彙。同一個詞,如果在書表中找不到它會在另一個表中查找等...我這樣做,但有些事情錯了,我希望它在一個MySQL的sentence..anyone幫我請如何在許多表中使用關鍵字進行搜索
function getsomeword($keyword) {
$result1 = $this->db->query("SELECT bo_id,bo_name,bo_state,bo_about FROM d_book where (bo_name like '%$keyword%' or bo_about like '%$keyword%') and bo_state = '1'");
$result1 = $result1->num_rows();
$result2 = $this->db->query("SELECT au_id,au_name,au_state,au_info FROM d_author where (au_name like '%$keyword%' or au_info like '%$keyword%') and au_state = '1'");
$result2 = $result2->num_rows();
$result3 = $this->db->query("SELECT pub_id,pub_name,pub_state,pub_info FROM d_publishing where (pub_name like '%$keyword%' or pub_info like '%$keyword%') and pub_state = '1'");
$result3 = $result3->num_rows();
return $result1 + $result2 + $result3;
}
您可以使用UNION(SQL)來解決此問題。 –
請注意,UNION中的每個SELECT語句必須具有相同的列數。這些列也必須具有相似的數據類型。另外,每個SELECT語句中的列必須以相同的順序排列。 – user1080247
好的,你也可以使用Sphinx搜索引擎來解決這個問題。 –