私は、コースコードまたは名前で "コース"を検索するプログラムに取り組んでいます。ユーザーが「CODE1002」を検索すると、データベースからCODE 1002 ELが返されます(スペースがあります)。他の投稿に示されているように、私は成功なしでREPLACE機能を使用しようとしました。ここでLIKEでmysql検索クエリのスペースを無視するにはどうしたらいいですか?
は私の現在のコードは、(ただし、それはスペースを無視しない)である:ここでは
$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);
は成功しませんcourse_code上のスペースを無視するREPLACE加えることで私の試みです:
$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);
最初のコードは、スペースを無視しない以外は完全に機能します。
は、PHP最初 –
に交換を行うことesierかもしれLIKEの右側にあることREPLACEないでしょうか? – rvnlord