PHP SLIM DELETE 问题始终获得成功消息

PHP SLIM DELETE issue get always success message

当我 运行 这个脚本时,我总是收到成功消息 "successfully deleted" 即使 id 不存在并且没有记录受到影响。知道为什么吗?我该如何解决这个问题?

$app->post('/api/delete', function(Request $request, Response $response)   {

  $id = $request->getParam('id');

  $sql = "DELETE  FROM test WHERE id=:id";

  try{
      // Get DB Object
      $db = new db();
      // Connect
      $db = $db->connect();
      $stmt = $db->prepare($sql);
      $stmt->bindParam(':id', $id);

      $stmt->execute();
      echo '{"notice": {"text": "successfully deleted"}}' ;

    } catch(PDOException $e){
      //echo '{"error": {"text": '.$e->getMessage().'}}';
      return $response->withStatus(400)->write('{"error": {"text": '.$e->getMessage().'}}');
    }
});
 try{
  // Get DB Object
  $db = new db();
  // Connect
  $db = $db->connect();
  $stmt = $db->prepare($sql);
  $stmt->bindParam(':id', $id);

  $query=$stmt->execute();
  if($query)
     echo '{"notice": {"text": "successfully deleted"}}' ;
  else
     echo '{"notice": {"text": "Some Error Occured"}}' ;
} catch(PDOException $e){
  //echo '{"error": {"text": '.$e->getMessage().'}}';
  return $response->withStatus(400)->write('{"error": {"text": '.$e->getMessage().'}}');
}

那里需要使用rowCount():-

$app->post('/api/delete', function(Request $request, Response $response)   {

  $id = $request->getParam('id');

  $sql = "DELETE  FROM test WHERE id=:id";

  try{
      // Get DB Object
      $db = new db();
      // Connect
      $db = $db->connect();
      $stmt = $db->prepare($sql);
      $stmt->bindParam(':id', $id);

      $stmt->execute();
      $count = $stmt->rowCount();
      if($count >0){
        echo '{"notice": {"text": "successfully deleted"}}' ;
      }

    } catch(PDOException $e){
      //echo '{"error": {"text": '.$e->getMessage().'}}';
      return $response->withStatus(400)->write('{"error": {"text": '.$e->getMessage().'}}');
    }
});