title: Why it seems that the WHERE clause in my query doesn't work?
body: <p>This code I'm using works fine but when I tried to query with a where clause, it looks like it doesn't work, it still displays all the data though I put a condition already. I also tried changing the way I put the where clause, but it says "no data found in the server" so I put the code back to its original form. I also tried putting a specific where clause like "where client = 'eadept'" but it still shows all details. This is my code.</p>
  
  <pre><code>session_start();
  /* Database connection start */
  $servername = "localhost";
  $item = "root";
  $password = "";
  $dbname = "sample";
  
  $conn = mysqli_connect($servername, $item, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());
  
  /* Database connection end */
  
  
  // storing  request (ie, get/post) global array to a variable  
  $requestData = $_REQUEST;
  
  
  $columns = array(
      // datatable column index  =&gt; database column name
      0 =&gt; 'facility',
      1 =&gt; 'title',
      2 =&gt; 'start',
      3 =&gt; 'end',
      4 =&gt; 'fee',
      5 =&gt; 'status'
  
  
  );
  $uname = ($_SESSION['username']);
  // getting total number records without any search
  $sql = "SELECT facility, title, start, end, fee, status ";
  $sql .= " FROM reservation WHERE client = '$uname'";
  
  $query = mysqli_query($conn, $sql);
  $totalData = mysqli_num_rows($query);
  $totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows.
  
  
  $sql = "SELECT facility, title, start, end, fee, status ";
  $sql .= " FROM reservation WHERE 1=1";
  if(!empty($requestData['search']['value'])) { // if there is a search parameter, $requestData['search']['value'] contains search parameter
      $sql .= " AND ( facility LIKE '" . $requestData['search']['value'] . "%' ";
      $sql .= " OR title LIKE '" . $requestData['search']['value'] . "%' ";
      $sql .= " OR fee LIKE '" . $requestData['search']['value'] . "%' )";
  
  }
  $query = mysqli_query($conn, $sql);
  $totalFiltered = mysqli_num_rows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result. 
  $sql .= " ORDER BY " . $columns[$requestData['order'][0]['column']] . "   " . $requestData['order'][0]['dir'] . "  LIMIT " . $requestData['start'] . " ," . $requestData['length'] . "   ";
  // $sql.="WHERE client = 'eadept'";
  /* $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc  */
  $query = mysqli_query($conn, $sql);
  
  $data = array();
  while($row = mysqli_fetch_array($query)) { // preparing an array
      $nestedData = array();
  
  
      $nestedData[] = $row["facility"];
      $nestedData[] = $row["title"];
      $nestedData[] = $row["start"];
      $nestedData[] = $row["end"];
      $nestedData[] = $row["fee"];
      $nestedData[] = $row["status"];
  
  
      $data[] = $nestedData;
  }
  
  
  
  $json_data = array(
      "draw" =&gt; intval($requestData['draw']), // for every request/draw by clientside , they send a number as a parameter, when they recieve a response/data they first check the draw number, so we are sending same number in draw. 
      "recordsTotal" =&gt; intval($totalData), // total number of records
      "recordsFiltered" =&gt; intval($totalFiltered), // total number of records after searching, if there is no searching then totalFiltered = totalData
      "data" =&gt; $data // total data array
  );
  
  echo json_encode($json_data); // send data as json format
  </code></pre>
  
  <p>I'm referring to the query under the array. Can anyone please help and tell what to change so it will work? </p>