connect_errno) exit("Can not connect to MySQL Server\n"); $DB->set_charset("utf8mb4"); $DB->query("SET collation_connection = 'utf8mb4_bin'"); $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT; ## defaults $returnData = array(); $returnStatusCode = 200; $_s = ''; if(isset($_GET['s']) && !empty($_GET['s'])) { $_s = Helper::validate($_GET['s']) ? trim($_GET['s']) : ''; $_s = strtolower($_s); } if(!empty($_s)) { $queryStr = "SELECT `tconst`, `primaryTitle`, `originalTitle`, `startYear`, `runtimeMinutes`, `genres`, MATCH (`primaryTitle`) AGAINST ('".$DB->real_escape_string($_s)."' IN NATURAL LANGUAGE MODE) AS score FROM `title_basics` WHERE MATCH (`primaryTitle`) AGAINST ('".$DB->real_escape_string($_s)."' IN NATURAL LANGUAGE MODE) LIMIT 10"; try { $query = $DB->query($queryStr); if ($query !== false && $query->num_rows > 0) { while (($result = $query->fetch_assoc()) != false) { $returnData[$result['tconst']] = $result; } } } catch (Exception $e) { error_log("ERROR search query failed: ".$e->getMessage()); error_log("ERROR search query: ".$queryStr); } } header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header('Content-Type: application/json'); if($returnStatusCode !== 200) { http_response_code($returnStatusCode); } echo json_encode($returnData);