我工作的一個程序,其中的「課程」的課程代碼或名稱的用戶搜索。我想使它所以,如果用戶搜索「CODE1002」,代碼1002 EL從數據庫中仍然會返回(有一個空格)。正如其他職位所表明的,我嘗試過使用REPLACE函數但沒有成功。我怎麼能忽略MySQL的搜索查詢與LIKE空間?
這裏是我當前的代碼(但它不會忽略空格):
$records = $conn->prepare('SELECT (SELECT COUNT(*) FROM courses WHERE (course_code LIKE :searchText OR course_name LIKE :searchText)) AS course_count, course_id, course_code, course_name FROM courses WHERE (course_code LIKE :searchText OR course_name LIKE :searchText) ORDER BY course_code LIMIT 6');
$final_search_term = "%".$search_term."%";
$records->bindParam(':searchText', $final_search_term);
這是我在加入REPLACE忽略上沒有成功的course_code空間嘗試:
$records = $conn->prepare('SELECT (SELECT COUNT(*) FROM courses WHERE (REPLACE(course_code,' ','') LIKE :searchText OR course_name LIKE :searchText)) AS course_count, course_id, course_code, course_name FROM courses WHERE (REPLACE(course_code,' ','') LIKE :searchText OR course_name LIKE :searchText) ORDER BY course_code LIMIT 6');
$final_search_term = "%".$search_term."%";
$records->bindParam(':searchText', $final_search_term);
第一個代碼工作完美除了沒有忽視空間。
可能esier做在PHP第一替換 –
不應取代是像右側? – rvnlord