Your original problems were extra quote for the variable $names and the missing single quotes for the LIKE arguement.
<?PHP
mysql_query ("SELECT name FROM users WHERE $names LIKE '%:name:%' ");
?>
Extra:
Double quotes will parse variables, meaning variables will be converted into their values and strings will be strings.
$name="ratass2002";
$result="$name is evil";
$result=="ratass2002 is evil" ->true
Single quote will not parse the varibles
$name="ratass2002";
$result='$name is evil'; ->$result == $name is evil
$result=="ratass2002 is evil" ->false 😃
Use single quote if there is no variables in your string, because in theory it's faster than using double quotes.