public static function fetchFromDbForCode($promoCode) { global $logger; $logger->LogDebug(__METHOD__ . " Fetching " . __CLASS__ . " object from database for promo code: {$promoCode}"); PromoCode::$staticErrors = array(); $sql = "SELECT * FROM bsi_promo_codes WHERE UPPER(TRIM(promo_code)) = '" . strtoupper(trim(mysql_escape_string($promoCode))) . "'"; $query = mysql_query($sql); if (!$query) { $logger->LogError("Error executing query: {$sql}"); $logger->LogFatal("Database error: " . mysql_errno() . ". Message: " . mysql_error()); die("There was an error connecting to the database. Please try your request again or contact the system administrator."); } if ($row = mysql_fetch_assoc($query)) { $promoCode = PromoCode::fetchFromParameters($row); return $promoCode; } else { $logger->LogWarn("There is no promo code for promo code: {$promoCode}"); PromoCode::setStaticError(BOOKING_DETAILS_COUPON_INVALID); return null; } }