This should work…
$query = "UPDATE Suppliers SET `Name` = '$name' WHERE ID = '$supplier_id'";
I don’t know how picky mySQL is (it’s been a while), but I noticed in the SELECT statement above doesn’t quote out the id
$query = "UPDATE Suppliers SET `Name` = '$name' WHERE ID = $supplier_id";
Have you done an echo of $query just to be sure what you’re executing is what you think?
You should also consider moving towards prepared statements, which is safer that just using the value directly…
$stmt = $mysqli->prepare("UPDATE Suppliers SET `Name` = ? WHERE ID = ?");
$stmt->bind_param("si", $name, $supplier_id);
$stmt->execute();
$stmt->close();