I have a database that holds recordings and each recording has custom metadata that the user can specify, which will be different every time. Is it possible when I do my GET to Select based on what is in that metadata?
<?php
require 'config.php';
require 'database_connector.php';
if (!$_SERVER['REQUEST_METHOD'] === 'GET') {
var_dump(http_response_code(403));
die();
}
$secret = "getSecret";
if ($secret !== $_GET['secret']) {
var_dump(http_response_code(401));
die();
}
$request = (object) [
'id' => $_GET['id'], 'game_name' => $_GET['game_name'], 'gamer_tag' => $_GET['gamer_tag'], 'limit' => $_GET['limit'], 'id' => $_GET['meta_data']
];
$connection = openConnection($config);
retrieveRecordings($connection, $config, $request);
$connection->close();
function retrieveRecordings($connection, $config, $request)
{
$stmt = $connection->prepare("SELECT * FROM $config->tablename WHERE id = ? OR game_name = ? OR gamer_tag = ? OR meta_data = ? LIMIT ?");
$stmt->bind_param("sssss", $request->id, $request->game_name, $request->gamer_tag, $request->meta_data, $request->limit);
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error . " \r\n";
die();
}
$result = $stmt->get_result();
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$id = $row["id"];
$game_name = $row["game_name"];
$gamer_tag = $row["gamer_tag"];
$recording = $row["recording"];
$meta_data = $row["meta_data"];
$hex = bin2hex($recording);
echo ("response=id=" . $id . "\r\n");
echo ("response=game_name=" . $game_name . "\r\n");
echo ("response=gamer_tag=" . $gamer_tag . "\r\n");
echo ("response=meta_data=" . $meta_data . "\r\n");
echo ("response=recording" . $id . "=" . $hex . "\r\n");
}
} else {
echo "0 results \r\n";
}
}