首页 > 解决方案 > JSON从PHP返回空数组以进行选择查询而没有任何错误

问题描述

我已经使用 post 从 Angular 组件向 PHP 传递值,并且能够查看传递的输入值,但是在选择查询中使用输入时无法获取任何记录 PHP 代码:

    $json    =  file_get_contents('php://input');
    $obj     =  json_decode($json);


    $selectedDept = filter_var($obj->selectyear, FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
    $selectedYear = filter_var($obj->selectDepart, FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);

   $searchdata = array();

    try {
      $stmt     = $pdo->prepare('SELECT * FROM circular_data WHERE YEAR(Circular_date)=:selectyear AND Circular_department=:selectDepart');
            $stmt->bindParam(':selectyear', $selectedYear);
            $stmt->bindParam(':selectDepart', $selectedDept);
            $stmt->execute();

      while($row  = $stmt->fetch(PDO::FETCH_OBJ))
      {
         // Assign each row of data to associative array
         $searchdata[] = $row;
      }

      echo json_encode($searchdata);
   }

   catch(PDOException $e)
   {
      echo $e->getMessage();
   }

使用 POST 请求传递输入的组件类代码:

this.selectedData = {
    selectyear: this.selectedYear,
    selectDepart: this.selectedDepartment
  }

  let selectData = this.selectedData;

  this.http.post('http://localhost:8080/dbcon/retrieve-searchdata.php', selectData, httpOptions)
  .subscribe((searchdata : any) =>
  {
      console.log(searchdata);
  },
    err => {
      console.log("Error occured", err);
    }
  );

标签: phpmysqlangularionic2

解决方案


推荐阅读