I avoid putting PHP variables into SQL strings I find it makes it less readable and if you have a lot of variables, it creates a mess of quotes, concatentations, etc... . That said, there's nothing wrong with doing it, your query will run the same as if you use prepared statements, assuming there's nothing incorrect with how you encased your variables. Do you have error reporting enabled? If not, add these lines at the top of your script:
If there are no errors pertaining to this, then it's probably passing the $id as a String when it actually isn't, so there's no match and nothing happens.