Hardening further mysql with sqlmap suggestion I just ran this tool called sqlmap. It gave me this few list as below.

sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
---
Parameter: ID (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause
    Payload: ta=asaa&amp;ID=74 AND 3387=3387&amp;na=0&amp;bc=C

    Type: UNION query
    Title: MySQL UNION query (NULL) - 6 columns
    Payload: ta=asaa&amp;ID=74 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,CONCAT(0x71766a7171,0x78587565526f656b4e4b,0x716a707871)#&amp;na=0&amp;bc=C

    Type: AND/OR time-based blind
    Title: MySQL &gt; 5.0.11 AND time-based blind
    Payload: ta=asaa&amp;ID=74=74 AND SLEEP(5)&amp;na=0&amp;bc


I tested on the union query doest not give any result. But booleand-based blind do give the result and time based-based blind kind of stop my application? What can I do to improvise?
There isn't much you can do to "improvise", you need to fix the issue at hand: you're vulnerable to SQL injections.

The most straightforward solution to this is to implement parameterized queries in your code. This will involve changing all the queries manually, but will protect you.

You can read up on it from the article What's the Right Way to Prevent SQL Injection in PHP, but here's an excerpt from the article:


  For example, consider the following login script:
  
  $sql = "SELECT * FROM UserTbl WHERE Username = '$username' and Password = '$password'";
  
  Let’s use the same script, but I’ll define the SQL query with parameter placeholders:
  
  $sql = "SELECT * FROM UserTbl WHERE Username = ? and Password = ?";
  
  Now, I’ll define an array that holds the parameter values:
  
  $params = array($_POST['Username’], $_POST['Password’]);
  
  When I execute the query, I pass the $params array as an argument:
  
  $stmt = sqlsrv_query($conn, $sql, $params);