Sean
Sean

Reputation: 1888

Searching for a partial match in a SQL database with PHP

I have a php file that search a SQL database. It takes a string from a textbox and tries to match it to various attributes for the database. Here is the code that performs the searched:

    if ($filter['meta_info']) {
    $search_string = $filter['meta_info'];
    unset($filter['meta_info']);
    $m_intSortField = null;
    $m_strWhere .= (($m_strWhere) ? " AND " : "")."(MATCH     (`courses`.`assigned_id`,`courses`.`title`,`courses`.`author`,`courses`.`keywords`,`courses`.`  abstract`,`courses`.`objective`,`courses`.`summary`,`courses`.`copyright`,`courses`.`notes`) AGAINST ('".mysql_escape_string($search_string)."' IN BOOLEAN MODE))";
}

My problem is, I want it to return courses that have a partial match to the assigned ID not just a complete match. Anyone know how I could do this?

Upvotes: 0

Views: 2473

Answers (1)

Layke
Layke

Reputation: 53206

Turn off strict mode on your mysql options, or use LIKE.

SELECT id,name from LESSONS where name LIKE "English%";

returns

|  id | Name
|  2  | English Literature
|  8  | English Language

Upvotes: 2

Related Questions