Has probado si la query DELETE FROM product WHERE id_product='$code' funciona haciendola a la base de datos por línea de comandos u otro método?
Creo que si id_product es int, debería ir sin comillas, no estoy seguro.
En MySQL es indiferente si a un valor que es int lo colocas entre comillas
la conexion a la db si no no lo envia
Eso es más raro aún.
Puedes colocar un ejemplo (con datos reales) de los datos que tienes en la tabla, la consulta generada en $sql y el resultado que te muestra al ejecutarla en la
consola?.
Por ejemplo.
$sql = "DELETE FROM product WHERE id_product='$code'";
Resultado al imprimir la variable $sql
DELETE FROM product WHERE id_product='12345'
Registros iniciales en la tabla product
+------------+-------+------------+-------+-------+
| id_product | code | product | price | stock |
+------------+-------+------------+-------+-------+
| 12345 | COD 1 | Producto 1 | 43.21 | 100 |
| 67890 | COD 2 | Producto 2 | 87.65 | 2 |
+------------+-------+------------+-------+-------+
Mensaje después de ejecutar la consulta.
1 row(s) affected
Execution Time : 0.009 sec
Transfer Time : 0 sec
Total Time : 0.010 sec
Registros finales.
+------------+-------+------------+-------+-------+
| id_product | code | product | price | stock |
+------------+-------+------------+-------+-------+
| 12345 | COD 1 | Producto 1 | 43.21 | 100 |
+------------+-------+------------+-------+-------+
Por cierto deberías cambiar el nombre de tu campo
code para evitar algún posible problema en el futuro.
Keywords and Reserved Words