65535) error("Invalid port (1 <= port <= 65535)"); $select = $db->prepare("SELECT id FROM gates WHERE number=:number"); if($select->execute(array(":number" => $number))) { if($g = $select->fetch()) { $update = $db->prepare("UPDATE gates SET name=:name, address=:address, port=:port, lastSeen=NULL WHERE id=:id"); if($update->execute(array(":name" => $name, ":address" => $_SERVER['REMOTE_ADDR'], ":port" => $port, ":id" => $g['id']))) echo json_encode(array("id" => intval($g['id']), "gateTimeout" => $gateTimeout)); else error("Failed to update database"); } else { $insert = $db->prepare("INSERT INTO gates (name, number, address, port) VALUES (:name, :number, :address, :port) ON DUPLICATE KEY UPDATE lastSeen=NULL"); if($insert->execute(array(":name" => $name, ":number" => $number, ":address" => $_SERVER['REMOTE_ADDR'], ":port" => $port))) echo json_encode(array("id" => intval($db->lastInsertId()), "gateTimeout" => $gateTimeout)); else error("Failed to insert into database"); } } else error("Failed to query gates"); ?>