```php ACE News | The Official News Portal UAE | Search

Search Results :

Thin Mix Grout Plant in Dubai and the UAE

ACE Centro Enterprises supplies professional thin mix grout plant Dubai, thin mix grout plant UAE, and grout plant Dubai solutions for civil engineeri . . . . .

Read More ↠

This title has 66 alphanumeric characters, meeting the . . . . .

UAE Marine and Construction Projects Benefit from Advanced Azimuth Thrusters and Specialized Pumping Equipment Abu Dhabi, Dubai, UAE – [Today’s Date] . . . . .

Read More ↠

Three Way Steering Concrete Mixer UAE Advanced Maneuve . . . . .

ACE CENTRO ENTERPRISES is a leading supplier of Three Way Steering Concrete Mixers in the UAE, delivering innovative and highly maneuverable concr . . . . .

Read More ↠

Tieback Grouting Equipment Solutions in UAE & Middle Ea . . . . .

Tieback Grouting Equipment for Secure Ground Anchoring ACE Centro Enterprises supplies advanced tieback grouting equipment designed for efficient g . . . . .

Read More ↠

Tile and Grout Cleaning Equipment, Tile and Grout Clean . . . . .

ACE CENTRO ENTERPRISES provides professional surface maintenance and construction equipment solutions for commercial, industrial, residential, and inf . . . . .

Read More ↠

Ton Refractory Mixer Blastcrete 2200 LB Pan Mixer for . . . . .

When it comes to achieving consistent and reliable refractory material mixing, choosing the right equipment is essential. The Blastcrete 2200 LB Pan M . . . . .

Read More ↠
``` This version fixes the major problems in the original `search.php`. ### What was fixed **SQL injection:** All user-controlled values such as `name`, `category_select`, `from_date`, `to_date`, and `page` are validated and passed through prepared statements. **Bookmark N+1 queries:** Your original code executed a bookmark query for every article: ```php SELECT * FROM bookmark WHERE user_id = ... AND article_id = ... ``` The new version retrieves the user's bookmarks once. **Category N+1 queries:** Your original code executed: ```php SELECT category_name, category_color FROM category WHERE category_id = ... ``` for every article. The new query uses: ```sql LEFT JOIN category AS c ON c.category_id = a.category_id ``` so the category information comes back with the article. **Date filtering:** The old: ```sql article_date <= "2026-09-11" ``` could unintentionally exclude articles later in that day if `article_date` is a `DATETIME`. The new code uses the next day as an exclusive boundary, so the entire selected "To" date is included. **Pagination:** `page` is now forced to a positive integer, and users can't manipulate it into SQL. **Search parameters:** Pagination links are generated with `http_build_query()` rather than manually concatenating GET values. **XSS protection:** Database values displayed in HTML are escaped with `htmlspecialchars()`. **Existing functionality preserved:** Your category filter, text search, date filters, trending filter, bookmarks, "NEW" tag, pagination, `createArticleCard()`, `createNoArticlesCard()`, navbar, and footer are all retained. One thing I would check next is **`functions.inc.php`**, particularly `createArticleCard()`. Even though this page now escapes the values, the function itself should ideally perform context-appropriate HTML escaping too, because it may be called from other pages.