First of all, your query doesn't delete from two tables in one query. There are two separate SQL queries.
Second, you don't need to run 2 queries in one function call. Run two separate queries in two separate function calls. That would be logical and save you a lot of trouble.
Third, never use mysqli_multi_query()
for such a whim. This function's purpose is different. Everyone who ask you to use it, never used it in reality and have no idea how to use it properly, helping you to shoot yourself in the foot.
Fourth, you ought to use prepared statements, instead of banging a variable in the query directly.
$stmt = $conn->prepare("DELETE from pupil_data WHERE pupil_id=?");
$stmt->bind_param("s",$pupil_id);
$stmt->execute();
$stmt = $conn->prepare("DELETE from pupil_conditions WHERE pupil_id=?");
$stmt->bind_param("s",$pupil_id);
$stmt->execute();
is the code you have to run.