diff --git a/php/request.php b/php/request.php
index ae4e3bb..7ef87ab 100644
--- a/php/request.php
+++ b/php/request.php
@@ -10,26 +10,23 @@
 	$conn->set_charset("utf8");
 	
 	// Do the query
-	$query = "";
-	$query2 = "";
+	$queries = [""];
 	
 	$victimid = "ANY (SELECT quimata FROM users WHERE id=".(int)$_GET['user_id'].")";
 	
-	if ($_GET['msg'] == "REQ KILL") $query = "UPDATE users SET requested=1 WHERE id=".$victimid; // request kill
-	if ($_GET['msg'] == "REQ DEAD") $query = "UPDATE users SET requested=2 WHERE quimata=".(int)$_GET['user_id']; // request dead
+	if ($_GET['msg'] == "REQ KILL") $queries = ["UPDATE users SET requested=1 WHERE id=".$victimid]; // request kill
+	if ($_GET['msg'] == "REQ DEAD") $queries = ["UPDATE users SET requested=2 WHERE quimata=".(int)$_GET['user_id']]; // request dead
+	if ($_GET['msg'] == "DENY REQ") $queries = ["UPDATE users SET requested=0 WHERE id=".(int)$_GET['user_id']]; // deny request
 	if ($_GET['msg'] == "CONF DEAD") {
-		// User gets killed
-		$query = "UPDATE users SET requested=0, quimata=".(int)$_GET['user_quimata']." WHERE quimata=".(int)$_GET['user_id']; // assign new victim to killer
-		$query2 = "UPDATE users SET quimata=0, mort=1 WHERE id=".(int)$_GET['user_id']; // confirm victim dead/killed
+		$queries = ["UPDATE users SET requested=0, quimata=".(int)$_GET['user_quimata']." WHERE quimata=".(int)$_GET['user_id'], // assign new victim to killer
+				  "UPDATE users SET quimata=0, mort=1 WHERE id=".(int)$_GET['user_id']]; // confirm victim dead/killed
 	}
-	if ($_GET['msg'] == "DENY REQ") $query = "UPDATE users SET requested=0 WHERE id=".(int)$_GET['user_id']; // deny request
-
 	// Fetch the information of the user
-	if ($query != "" and $result = $conn->query($query)) echo $query;
-	else die("Wrong query: " . $query);
-	if ($query2 != "" and $result = $conn->query($query2)) echo "\n" . $query2;
-	else echo "\nNo second query";
-
+	foreach ($queries as $query) {
+		if ($query != "" and $result = $conn->query($query)) echo $query;
+		else die("Wrong query: " . $query);
+	}
+	
 	// Close connection
 	$conn->close();
 ?>
