I think (but I’ve been wrong before) that if $conn is a Boolean, that’s because the prepare() function failed.
In any case, if you’re using bound parameters, don’t you need to use the ? placeholder inside the query, rather than appending the PHP variables as you are doing here?
Also I suspect your quotations are unbalanced in the query, particularly around the id section at the end.
As PHP will do this automatically for you and it’s bad practice to open a new connection every time you want to connect to the database. So you are better off having it opened.