1

I am trying to use a like statement in the function format. I received a lot of results using mysql or pdo formats, but they didn't work for my format i have set up already. It's just not returning anything and I am not sure if this is the correct format. Here is what I have:

  function search_users($namesearch){
global $db;
    $query = "SELECT * FROM users 
            WHERE username LIKE '%:namesearch%'
                ORDER BY username";
    $statement = $db->prepare($query);
    $statement->bindValue(":namesearch", $namesearch);
    $statement->execute();
    $usersearch= $statement->fetchAll();
    $statement->closeCursor();
    return $usersearch;
}
triswill227
  • 340
  • 2
  • 5
  • 13
  • You can't create a bind like this `'%:namesearch%'`. I suggest you [look at this answer](http://stackoverflow.com/q/583336/2518525). – Darren May 05 '15 at 00:35

1 Answers1

1

I'd do it like this.

  function search_users($namesearch){
global $db;
    $query = "SELECT * FROM users 
            WHERE username LIKE ?
                ORDER BY username";
    $statement = $db->prepare($query);
    $statement->execute(array('%' . $namesearch . '%'));
    $usersearch= $statement->fetchAll();
    $statement->closeCursor();
    return $usersearch;
}
chris85
  • 23,846
  • 7
  • 34
  • 51