StoneStreet
StoneStreet

Reputation: 39

Query doesn't work with LIKE

I'm trying to make a query based on some field in my database. I'm trying to select a cell with a string CONTAIN a keyword. It's the LIKE code that do not work. Error code follows:

Failed to run query: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

PHP

$query = " 
            SELECT 1 
            FROM phpexcel
            WHERE objekt_nr = :objekt_nr && element_nr = :element_nr && element_scanned_where LIKE '%:element_scanned_where%'"; 

        $query_params = array(
            ':objekt_nr' => $ean_objekt_nr,
            ':element_nr' => $ean_element_nr,
            ':element_scanned_where' => $element_scanned_where
            );

Upvotes: 1

Views: 83

Answers (2)

S.Pols
S.Pols

Reputation: 3434

Try this:

$query = " 
            SELECT 1 
            FROM phpexcel
            WHERE objekt_nr = :objekt_nr && element_nr = :element_nr && element_scanned_where LIKE :element_scanned_where"; 

        $query_params = array(
            ':objekt_nr' => $ean_objekt_nr,
            ':element_nr' => $ean_element_nr,
            ':element_scanned_where' => '%'.$element_scanned_where.'%'
            );

Upvotes: 2

Sougata Bose
Sougata Bose

Reputation: 31739

Try with -

$query = " 
        SELECT 1 
        FROM phpexcel
        WHERE objekt_nr = :objekt_nr AND element_nr = :element_nr AND element_scanned_where LIKE %:element_scanned_where%"; 

    $query_params = array(
        ':objekt_nr' => $ean_objekt_nr,
        ':element_nr' => $ean_element_nr,
        ':element_scanned_where' => $element_scanned_where
        );

Upvotes: 0

Related Questions