(I'm forced to work on microsoft sql server in my internship). I don't understand why my query doesn't work in PHP (it returns no data), but it works when I put it directly in Microsoft SQL Server Management Studio (it returns the datas).
Here is my code :
<?php 
  require('conn.php');
    if(isset($_POST['submit-search'])){
      $search = $_POST['search'];
      $sql = "SELECT codepo, codepsa, controle, FORMAT(date, 'dd-MM-yyyy hh:mm:ss') as date FROM dbo.codebarre where datediff(day, date, '$search') = 0";
      var_dump($sql);
      $result = sqlsrv_query($conn2, $sql);
      $queryResult = sqlsrv_num_rows($result);
      ?>
    (...)
      <?php
      if($queryResult > 0){
        while($donnees = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
          ?>
          <tbody>
          <tr>
            <th style="font-weight: normal;"><?php echo htmlspecialchars($donnees['codepo']); ?></th>
            <td><?php echo htmlspecialchars($donnees['codepsa']); ?></td>
            <td <?php if ($donnees['controle'] === 'NOK') {
                  echo 'style="color: red; font-weight: bold"';
                } ?>><?php echo htmlspecialchars($donnees['controle']);  ?></td>
            <td><?php echo $donnees['date'] ?></td>
          </tr>
        </tbody>
        <?php
        }
      } else {
        echo "No data";
      }
    }
The var_dump($sql) returns me this :
string(138) "SELECT codepo, codepsa, controle, FORMAT(date, 'dd-MM-yyyy hh:mm:ss') as date FROM dbo.codebarre where datediff(day, date, '20210107') = 0"
As I told you when I paste it in Management studio it works, so I don't understand why it doesn't here.